diff --git a/.copier-answers.yml b/.copier-answers.yml index 031c161..b32022a 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: 2.5.0 +_commit: 2.6.0 _src_path: gh:diamondlightsource/python-copier-template author_email: giles.knap@diamond.ac.uk author_name: Giles Knap diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d3d639a..979a89c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -28,11 +28,11 @@ } }, "features": { - // Some default things like git config - "ghcr.io/devcontainers/features/common-utils:2": { - "upgradePackages": false - } + // add in eternal history and other bash features + "ghcr.io/diamondlightsource/devcontainer-features/bash-config:1.0.0": {} }, + // Create the config folder for the bash-config feature + "initializeCommand": "mkdir -p ${localEnv:HOME}/.config/bash-config", "runArgs": [ // Allow the container to access the host X11 display and EPICS CA "--net=host", diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1057d4c..bb74fb6 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,4 +24,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects. -For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.5.0/how-to.html). +For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.6.0/how-to.html). diff --git a/.vscode/settings.json b/.vscode/settings.json index 101c75f..ffe4dd3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,4 +9,7 @@ "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", }, + "python.testing.pytestArgs": [ + "tests" + ], } diff --git a/README.md b/README.md index 933dee4..6717c04 100644 --- a/README.md +++ b/README.md @@ -5,19 +5,26 @@ # builder2ibek -Conversion tool for DLS XML builder IOC instances to ibek ioc.yaml - -This is where you should write a short paragraph that describes what your module does, -how it does it, and why people should use it. +A tool suite for converting DLS XML builder projects to epics-containers ibek. Source | :---: | :---: PyPI | `pip install builder2ibek` Releases | -This is where you should put some images or code snippets that illustrate -some relevant examples. If it is a library then you might put some -introductory code here: +
╭─ Commands ───────────────────────────────────────────────────────────────────╮
+xml2yaml        Convert a builder XML IOC instance definition file into an   │
+                ibek YAML file                                               │
+beamline2yaml   Convert all IOCs in a BLXXI-SUPPORT project into a set of    │
+                ibek services folders (TODO)                                 │
+autosave        Convert DLS autosave DB template comments into autosave req  │
+                files                                                        │
+db-compare      Compare two DB files and output the differences              │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+ +```bash +builder2ibek ```python from builder2ibek import __version__ diff --git a/src/builder2ibek/__main__.py b/src/builder2ibek/__main__.py index 2179568..c76a6dd 100644 --- a/src/builder2ibek/__main__.py +++ b/src/builder2ibek/__main__.py @@ -1,16 +1,14 @@ -import re from pathlib import Path from typing import Optional import typer -from ruamel.yaml import YAML, CommentedMap from builder2ibek import __version__ -from builder2ibek.builder import Builder -from builder2ibek.convert import dispatch +from builder2ibek.convert import convert_file +from builder2ibek.db2autosave import parse_templates +from builder2ibek.dbcompare import compare_dbs cli = typer.Typer() -yaml = YAML() def version_callback(value: bool): @@ -29,64 +27,71 @@ def main( help="Print the version of builder2ibek and exit", ), ): - """Convert build XML to ibek YAML""" + """Convert xmlbuilder assets to epics-containers assets""" @cli.command() -def file( +def xml2yaml( xml: Path = typer.Argument(..., help="Filename of the builder XML file"), yaml: Optional[Path] = typer.Option(..., help="Output file"), - schema: Optional[str] = typer.Option( + schema: str = typer.Option( "/epics/ibek-defs/ioc.schema.json", help="Generic IOC schema (added to top of the yaml output)", ), ): - def tidy_up(yaml): - # add blank lines between major fields - for field in [ - "ioc_name", - "description", - "entities", - " - type", - ]: - yaml = re.sub(rf"(\n{field})", "\n\\g<1>", yaml) - return yaml - - """Convert a single builder XML file into a single ibek YAML""" - builder = Builder() - builder.load(xml) - ioc = dispatch(builder, xml) - if not yaml: yaml = xml.absolute().with_suffix("yaml") - ruamel = YAML() - - ruamel.default_flow_style = False - # this attribute is for internal use, remove before serialising - delattr(ioc, "source_file") - yaml_map = CommentedMap(ioc.model_dump()) - - # add support yaml schema - yaml_map.yaml_add_eol_comment(f"yaml-language-server: $schema={schema}", column=0) - - ruamel.indent(mapping=2, sequence=4, offset=2) - - with yaml.open("w") as stream: - ruamel.dump(yaml_map, stream, transform=tidy_up) + convert_file(xml, yaml, schema) @cli.command() -def beamline( +def beamline2yaml( input: Path = typer.Argument(..., help="Path to root folder BLXX-BUILDER"), output: Path = typer.Argument(..., help="Output root folder"), ): """ - Convert a beamline's IOCs from builder to ibek + <<<<<<< HEAD + Convert whole beamline's IOCs from builder to ibek (TODO) + ======= + Convert all IOCs in a BLXXI-SUPPORT project into a set of ibek services + folders (TODO) + >>>>>>> 4af36b9 (add db compare) """ typer.echo("Not implemented yet") raise typer.Exit(code=1) +@cli.command() +def autosave( + out_folder: Path = typer.Option( + ".", help="Output folder to write autosave request files" + ), + db_list: list[Path] = typer.Argument( + ..., help="List of DB templates with autosave comments" + ), +): + """ + Convert DLS autosave DB template comments into autosave req files + """ + parse_templates(out_folder, db_list) + + +@cli.command() +def db_compare( + original: Path, + new: Path, + ignore: list[str] = typer.Option( + [], help="List of record name sub strings to ignore" + ), + output: Optional[Path] = typer.Option(None, help="Output file"), +): + """ + Compare two DB files and output the differences + """ + + compare_dbs(original, new, ignore, output) + + if __name__ == "__main__": cli() diff --git a/src/builder2ibek/convert.py b/src/builder2ibek/convert.py index b1db250..4eaf54a 100644 --- a/src/builder2ibek/convert.py +++ b/src/builder2ibek/convert.py @@ -2,20 +2,57 @@ Generic XML to YAML conversion functions """ +import re +from pathlib import Path from typing import Any +from ruamel.yaml import YAML, CommentedMap + from builder2ibek.builder import Builder, Element from builder2ibek.moduleinfos import module_infos from builder2ibek.types import Entity, Generic_IOC +def convert_file(xml: Path, yaml: Path, schema: str): + def tidy_up(yaml): + # add blank lines between major fields + for field in [ + "ioc_name", + "description", + "entities", + " - type", + ]: + yaml = re.sub(rf"(\n{field})", "\n\\g<1>", yaml) + return yaml + + """Convert a single builder XML file into a single ibek YAML""" + builder = Builder() + builder.load(xml) + ioc = dispatch(builder, xml) + + ruamel = YAML() + + ruamel.default_flow_style = False + # this attribute is for internal use, remove before serialising + delattr(ioc, "source_file") + yaml_map = CommentedMap(ioc.model_dump()) + + # add support yaml schema + yaml_map.yaml_add_eol_comment(f"yaml-language-server: $schema={schema}", column=0) + + ruamel.indent(mapping=2, sequence=4, offset=2) + + with yaml.open("w") as stream: + ruamel.dump(yaml_map, stream, transform=tidy_up) + + def dispatch(builder: Builder, filename) -> Generic_IOC: """ Dispatch every element in the XML to the correct convertor and build a generic IOC from the converted Entities """ ioc = Generic_IOC( - ioc_name="{{ __utils__.get_env('IOC_NAME') }}", + ioc_name="{{ _global.get_env('IOC_NAME') }}", description="auto-generated by https://github.com/epics-containers/builder2ibek", # some default entities for all IOC instances entities=[ @@ -51,11 +88,11 @@ def do_one_element(element: Element, ioc: Generic_IOC): # then dispatch to a specific handler if there is one assert isinstance(element, Element) - info = ( - module_infos[element.module] - if element.module in module_infos - else module_infos["generic"] - ) + if element.module in module_infos: + info = module_infos[element.module] + else: + info = module_infos["generic"] + info.yaml_component = element.module entity.type = f"{info.yaml_component}.{element.name}" new_xml = info.handler(entity, element.name, ioc) diff --git a/src/builder2ibek/converters/autosave.py b/src/builder2ibek/converters/autosave.py index e4cceff..01da3fd 100644 --- a/src/builder2ibek/converters/autosave.py +++ b/src/builder2ibek/converters/autosave.py @@ -10,5 +10,12 @@ def handler(entity: Entity, entity_type: str, ioc: Generic_IOC): XML to YAML specialist convertor function for the pvlogging support module """ - # TODO not supporting this yet - just remove it - entity.delete_me() + if entity_type == "Autosave": + entity.rename("iocName", "P") + entity.P += ":" + # TODO if this is a motor then set entity.postions_req_period = 5 + entity.remove("bl") + entity.remove("ip") + entity.remove("name") + entity.remove("path") + entity.remove("server") diff --git a/src/builder2ibek/converters/terminalserver.py b/src/builder2ibek/converters/terminalserver.py new file mode 100644 index 0000000..b201d87 --- /dev/null +++ b/src/builder2ibek/converters/terminalserver.py @@ -0,0 +1,17 @@ +from builder2ibek.converters.globalHandler import globalHandler +from builder2ibek.types import Entity, Generic_IOC + +xml_component = "terminalServer" + + +@globalHandler +def handler(entity: Entity, entity_type: str, ioc: Generic_IOC): + """ + XML to YAML specialist convertor function for the terminalServer module + """ + + if entity_type == "Moxa": + if entity.NCHANS > 16: + entity.type = "terminalServer.Moxa32" + else: + entity.type = "terminalServer.Moxa16" diff --git a/src/builder2ibek/db2autosave.py b/src/builder2ibek/db2autosave.py new file mode 100644 index 0000000..4059039 --- /dev/null +++ b/src/builder2ibek/db2autosave.py @@ -0,0 +1,43 @@ +import re +from pathlib import Path + +regex_autosave = [ + re.compile(rf'# *% *autosave *{n} *(.*)[\s\S]*?record *\(.*, *"?([^"]*)"?\)') + for n in range(3) +] + + +def parse_templates(out_folder: Path, db_list: list[Path]): + """ + DLS has 3 autosave levels + 0 = save on pass 0 + 1 = save on pass 0 and 1 + 2 = save on pass 1 only + + Areadetector and other support modules use: + template_name_positions.req for save on pass 0 + template_name_settings.req for save on pass 0 and pass 1 + the autosave docs seem to back the idea that pass 1 only is never used + + So this translation will make + 0 => template_name_positions.req + 1 => template_name_settings.req + """ + for db in db_list: + text = db.read_text() + + positions: set[str] = set() + settings: set[str] = set() + for n in range(3): + match n: + case 0: + this_set = positions + case 1 | 2: + this_set = settings + for result in regex_autosave[n].finditer(text): + this_set.add(f"{result.group(2)} {result.group(1)}") + + req_file = out_folder / f"{db.stem}_positions.req" + req_file.write_text("\n".join(positions) + "\n") + req_file = out_folder / f"{db.stem}_settings.req" + req_file.write_text("\n".join(settings) + "\n") diff --git a/src/builder2ibek/dbcompare.py b/src/builder2ibek/dbcompare.py new file mode 100644 index 0000000..b8dd44e --- /dev/null +++ b/src/builder2ibek/dbcompare.py @@ -0,0 +1,58 @@ +import re +from pathlib import Path + +regex_record = re.compile(r'record *\( *([^,]*), *"?([^"]*)"? *\)[\s\S]{') + + +def compare_dbs( + original: Path, new: Path, ignore: list[str], output: Path | None = None +): + """ + validate that two DBs have the same set of records + + used to ensure that an IOC converted to epics-containers has the same + records as the original builder IOC + """ + old_text = original.read_text() + new_text = new.read_text() + + old_set: set[str] = set() + for record in regex_record.finditer(old_text): + old_set.add(f"{record.group(1)} {record.group(2)}") + new_set: set[str] = set() + for record in regex_record.finditer(new_text): + new_set.add(f"{record.group(1)} {record.group(2)}") + + old_only = sorted(old_set - new_set) + new_only = sorted(new_set - old_set) + + old_only_filtered = old_only.copy() + new_only_filtered = new_only.copy() + for rec in old_only: + for s in ignore: + if s in rec: + old_only_filtered.remove(rec) + for rec in new_only: + for s in ignore: + if s in rec: + new_only_filtered.remove(rec) + + result = ( + "*******************************************************************\n" + + "Records in original but not in new:\n\n" + + "\n".join(old_only_filtered) + + "\n\n" + + "*******************************************************************\n" + + "Records in new but not in original:\n\n" + + "\n".join(new_only_filtered) + + "\n\n" + + "*******************************************************************\n" + + f"records in original: {len(old_set)}\n" + f" records in new: {len(new_set)}\n" + f" records missing in new: {len(old_only_filtered)}\n" + f" records extra in new: {len(new_only_filtered)}\n" + ) + if not output: + print(result) + else: + output.write_text(result) diff --git a/tests/conftest.py b/tests/conftest.py index ebe9c10..a663956 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,5 @@ import os +from pathlib import Path from typing import Any import pytest @@ -19,3 +20,8 @@ def pytest_exception_interact(call: pytest.CallInfo[Any]): @pytest.hookimpl(tryfirst=True) def pytest_internalerror(excinfo: pytest.ExceptionInfo[Any]): raise excinfo.value + + +@pytest.fixture +def samples(): + return Path(__file__).parent / "samples" diff --git a/tests/samples/BL99P-EA-IOC-05.yaml b/tests/samples/BL99P-EA-IOC-05.yaml new file mode 100644 index 0000000..77179e4 --- /dev/null +++ b/tests/samples/BL99P-EA-IOC-05.yaml @@ -0,0 +1,37 @@ +# yaml-language-server: $schema=/epics/ibek-defs/ioc.schema.json + +ioc_name: "{{ _global.get_env('IOC_NAME') }}" + +description: auto-generated by https://github.com/epics-containers/builder2ibek + +entities: + + - type: epics.EpicsEnvSet + name: EPICS_TS_MIN_WEST + value: '0' + + - type: devIocStats.iocAdminSoft + IOC: '{{ ioc_name | upper }}' + + - type: epics.EpicsCaMaxArrayBytes + max_bytes: 9000000 + + - type: ADAndor.andorCCD + ADDR: 0 + BUFFERS: 2000 + INSTALLPATH: /dls_sw/prod/R3.14.12.7/support/ANAndor/etc + P: BL99P-EA-DET-03 + PORT: DET3.cam + R: ':CAM:' + TIMEOUT: 1 + + - type: ADCore.NDPosPlugin + ADDR: 0 + BLOCK: 0 + ENABLED: 1 + NDARRAY_PORT: DET3.cam + P: BL99P-EA-DET-03 + PORT: DET3.pos + QUEUE: 1000 + R: ':POS:' + TIMEOUT: 1 diff --git a/tests/samples/SR03C-VA-IOC-01.xml b/tests/samples/SR03C-VA-IOC-01.xml new file mode 100644 index 0000000..fd7998d --- /dev/null +++ b/tests/samples/SR03C-VA-IOC-01.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/samples/SR03C-VA-IOC-01_expanded.db b/tests/samples/SR03C-VA-IOC-01_expanded.db new file mode 100644 index 0000000..4ab25dd --- /dev/null +++ b/tests/samples/SR03C-VA-IOC-01_expanded.db @@ -0,0 +1,108085 @@ +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +# Used by Channel Access Security to determine access to this IOC. +record(mbbo, "SR03C-VA-IOC-01:ACCESS") +{ + field(DESC, "SR03C-VA-IOC-01 Acc Mode") + field(PINI, "YES") + field(ZRST, "Running") + field(ZRSV, "NO_ALARM") + field(ONST, "Maintenance") + field(ONSV, "MINOR") + field(TWST, "Test") + field(TWSV, "MINOR") + field(THST, "OFFLINE") + field(THSV, "MAJOR") + info(autosaveFields, "VAL") +} +record(stringin, "SR03C-VA-IOC-01:STARTTOD") +{ + field(DESC, "Time and date of startup") + field(DTYP, "Soft Timestamp") + field(PINI, "YES") + field(INP, "@%Y-%m-%d %H:%M:%S") +} +record(stringin, "SR03C-VA-IOC-01:TOD") +{ + field(DESC, "Current time and date") + field(DTYP, "Soft Timestamp") + field(SCAN, "1 second") + field(INP, "@%Y-%m-%d %H:%M:%S") +} +record(calcout, "SR03C-VA-IOC-01:HEARTBEAT") +{ + field(DESC, "1 Hz counter since startup") + field(CALC, "(A<2147483647)?A+1:1") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-IOC-01:HEARTBEAT") +} +# if autosave is working, START_CNT creates a running count of +# number of times the IOC was started. +record(calcout, "SR03C-VA-IOC-01:START_CNT") +{ + field(DESC, "Increments at startup") + field(CALC, "A+1") + field(PINI, "YES") + field(INPA, "SR03C-VA-IOC-01:START_CNT") + info(autosaveFields_pass0, "VAL") +} +# +# Using an existing internal set of subroutines, this +# PV updates the Access Security mechanism dynamically. +# The .acf file is re-read. +# +record( sub, "SR03C-VA-IOC-01:READACF") +{ + field( DESC, "SR03C-VA-IOC-01 ACF Update") + field( INAM, "asSubInit") + field( SNAM, "asSubProcess") + field( BRSV, "INVALID") +} +record(sub, "SR03C-VA-IOC-01:SYSRESET") +{ + alias("SR03C-VA-IOC-01:SysReset") + field(DESC, "IOC Restart" ) + field(SNAM, "rebootProc") + field(BRSV,"INVALID") + field(L,"1") +} + +#% archiver 1 Monitor +#% alh +record(ai, "SR03C-VA-IOC-01:CA_CLNT_CNT") { + field(DESC, "Number of CA Clients") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ca_clients") + field(HOPR, "200") + field(HIHI, "175") + field(HIGH, "100") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +#% archiver 1 Monitor +#% alh +record(ai, "SR03C-VA-IOC-01:CA_CONN_CNT") { + field(DESC, "Number of CA Connections") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ca_connections") + field(HOPR, "5000") + field(HIHI, "4500") + field(HIGH, "4000") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:RECORD_CNT") { + field(DESC, "Number of Records") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@records") +} + +record(ai, "SR03C-VA-IOC-01:FD_MAX") { + field(DESC, "Max File Descriptors") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@maxfd") +} + +record(ai, "SR03C-VA-IOC-01:FD_CNT") { + field(DESC, "Allocated File Descriptors") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(FLNK, "SR03C-VA-IOC-01:FD_FREE PP MS") + field(INP, "@fd") +} + +#% archiver 1 Monitor +#% alh +record(calc, "SR03C-VA-IOC-01:FD_FREE") { + field(DESC, "Available FDs") + field(CALC, "B>0?B-A:C") + field(INPA, "SR03C-VA-IOC-01:FD_CNT NPP MS") + field(INPB, "SR03C-VA-IOC-01:FD_MAX NPP MS") + field(INPC, "1000") + field(HOPR, "150") + field(LOLO, "5") + field(LOW, "20") + field(LLSV, "MAJOR") + field(LSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR LOW LOLO LSV LLSV") +} + +#% archiver 1 Monitor +record(ai, "SR03C-VA-IOC-01:SYS_CPU_LOAD") { + field(DESC, "System CPU Load") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@sys_cpuload") + field(EGU, "%") + field(PREC, "1") + field(HOPR, "100") + field(HIHI, "80") + field(HIGH, "70") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +#% archiver 1 Monitor +#% alh +record(ai, "SR03C-VA-IOC-01:IOC_CPU_LOAD") { + alias("SR03C-VA-IOC-01:LOAD") + field(DESC, "IOC CPU Load") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ioc_cpuload") + field(EGU, "%") + field(PREC, "1") + field(HOPR, "100") + field(HIHI, "80") + field(HIGH, "70") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:CPU_CNT") { + field(DESC, "Number of CPUs") + field(DTYP, "IOC stats") + field(INP, "@no_of_cpus") + field(PINI, "YES") +} + +#% archiver 1 Monitor +#% alh +record(ai, "SR03C-VA-IOC-01:SUSP_TASK_CNT") { + field(DESC, "Number Suspended Tasks") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@suspended_tasks") + field(HIHI, "1") + field(HHSV, "MAJOR") + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +#% archiver 1 Monitor +record(ai, "SR03C-VA-IOC-01:MEM_USED") { + field(DESC, "Allocated Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@allocated_bytes") + field(EGU, "byte") +} + +#% archiver 1 Monitor +record(ai, "SR03C-VA-IOC-01:MEM_FREE") { + field(DESC, "Free Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@free_bytes") + field(EGU, "byte") + field(LLSV, "MAJOR") + field(LSV, "MINOR") + info(autosaveFields_pass0, "HOPR LOPR LOW LOLO LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:MEM_MAX") { + field(DESC, "Maximum Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@total_bytes") + field(EGU, "byte") +} + +record(ao, "SR03C-VA-IOC-01:CA_UPD_TIME") { + field(DESC, "CA Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@ca_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "15") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:FD_UPD_TIME") { + field(DESC, "FD Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@fd_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "20") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:LOAD_UPD_TIME") { + field(DESC, "CPU Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@cpu_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "10") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:MEM_UPD_TIME") { + field(DESC, "Memory Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@memory_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "10") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ST_SCRIPT1") { + field(DESC, "Startup Script Part1") + field(DTYP, "IOC stats") + field(INP, "@startup_script_1") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ST_SCRIPT2") { + field(DESC, "Startup Script Part2") + field(DTYP, "IOC stats") + field(INP, "@startup_script_2") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:ST_SCRIPT") { + field(DESC, "Startup Script") + field(DTYP, "IOC stats") + field(INP, "@startup_script") + field(NELM, "120") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:KERNEL_VERS") { + field(DESC, "Kernel Version") + field(DTYP, "IOC stats") + field(INP, "@kernel_ver") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:EPICS_VERS") { + field(DESC, "EPICS Version") + field(DTYP, "IOC stats") + field(INP, "@epics_ver") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:EPICS_VERSION") { + field(DESC, "EPICS Version") + field(DTYP, "IOC stats") + field(INP, "@epics_ver") + field(NELM, "120") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:HOSTNAME") { + field(DESC, "Host Name") + field(DTYP, "IOC stats") + field(INP, "@hostname") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:APP_DIR1") { + field(DESC, "Application Directory Part 1") + field(DTYP, "IOC stats") + field(INP, "@pwd1") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:APP_DIR2") { + field(DESC, "Application Directory Part 2") + field(DTYP, "IOC stats") + field(INP, "@pwd2") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:APP_DIR") { + field(DESC, "Application Directory") + field(DTYP, "IOC stats") + field(INP, "@pwd") + field(NELM, "160") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:UPTIME") { + field(DESC, "Elapsed Time since Start") + field(SCAN, "1 second") + field(DTYP, "IOC stats") + field(INP, "@up_time") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ENGINEER") { + field(DESC, "Engineer") + field(DTYP, "IOC stats") + field(INP, "@engineer") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:LOCATION") { + field(DESC, "Location") + field(DTYP, "IOC stats") + field(INP, "@location") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:PROCESS_ID") { + field(DESC, "Process ID") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@proc_id") +} + +record(ai, "SR03C-VA-IOC-01:PARENT_ID") { + field(DESC, "Parent Process ID") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@parent_proc_id") +} + +record(stringin, "SR03C-VA-IOC-01:DLSVER") { + field(DESC, "IOC version") + field(DTYP, "IOC stats") + field(INP, "@dlsver") + field(PINI, "YES") +} +record(ai, "SR03C-VA-IOC-01:GTIM_TIME") { + field(DESC, "Gen Time Secs since 1990") + field(SCAN, "1 second") + field(DTYP, "General Time") + field(PREC, "3") + field(INP, "@TIME") + field(EGU, "sec") +} + +record(bo, "SR03C-VA-IOC-01:GTIM_RESET") { + field(DESC, "Gen Time Error Reset") + field(DTYP, "General Time") + field(OUT, "@RSTERRCNT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} + +record(longin, "SR03C-VA-IOC-01:GTIM_ERR_CNT") { + field(DESC, "Gen Time Error Count") + field(DTYP, "General Time") + field(INP, "@GETERRCNT") + field(SCAN, "1 second") + field(HIHI, "1") + field(HHSV, "MAJOR") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_CUR_SRC") { + field(DESC, "Gen Time Current Provider") + field(DTYP, "General Time") + field(INP, "@BESTTCP") + field(SCAN, "1 second") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_EVT_SRC") { + field(DESC, "Gen Time Event Provider") + field(DTYP, "General Time") + field(INP, "@BESTTEP") + field(SCAN, "1 second") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_HI_SRC") { + field(DESC, "Gen Time Highest Provider") + field(DTYP, "General Time") + field(INP, "@TOPTCP") + field(SCAN, "1 second") +} +record(stringin, "SR03C-VA-IOC-01:CA_ADDR_LIST") { + field(DESC, "EPICS_CA_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_CONN_TIME") { + field(DESC, "EPICS_CA_CONN_TMO") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_CONN_TMO") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_AUTO_ADDR") { + field(DESC, "EPICS_CA_AUTO_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_AUTO_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_RPTR_PORT") { + field(DESC, "EPICS_CA_REPEATER_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_REPEATER_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_SRVR_PORT") { + field(DESC, "EPICS_CA_SERVER_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_SERVER_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_MAX_ARRAY") { + field(DESC, "EPICS_CA_MAX_ARRAY_BYTES") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_MAX_ARRAY_BYTES") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_SRCH_TIME") { + field(DESC, "EPICS_CA_MAX_SEARCH_PERIOD") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_MAX_SEARCH_PERIOD") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_BEAC_TIME") { + field(DESC, "EPICS_CA_BEACON_PERIOD") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_BEACON_PERIOD") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:TIMEZONE") { + field(DESC, "EPICS_TIMEZONE") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_TIMEZONE") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:TS_NTP_INET") { + field(DESC, "EPICS_TS_NTP_INET") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_TS_NTP_INET") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_PORT") { + field(DESC, "EPICS_IOC_LOG_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_INET") { + field(DESC, "EPICS_IOC_LOG_INET") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_INET") + field(PINI, "YES") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:01HZ_MODE") { + field(DESC, "01HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:01HZ_UPD_TIME") { + field(DESC, "01HZ Update Time") + field(SCAN, "10 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:01HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:02HZ_MODE") { + field(DESC, "02HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:02HZ_UPD_TIME") { + field(DESC, "02HZ Update Time") + field(SCAN, "5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:02HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:05HZ_MODE") { + field(DESC, "05HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:05HZ_UPD_TIME") { + field(DESC, "05HZ Update Time") + field(SCAN, "2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:05HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:1HZ_MODE") { + field(DESC, "1HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:1HZ_UPD_TIME") { + field(DESC, "1HZ Update Time") + field(SCAN, "1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:1HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:2HZ_MODE") { + field(DESC, "2HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:2HZ_UPD_TIME") { + field(DESC, "2HZ Update Time") + field(SCAN, ".5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:2HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:5HZ_MODE") { + field(DESC, "5HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:5HZ_UPD_TIME") { + field(DESC, "5HZ Update Time") + field(SCAN, ".2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:5HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +#% macro, __doc__, Create some records for reading IOC statistics and details. +#% macro, IOC, Device prefix + +record(bo, "SR03C-VA-IOC-01:10HZ_MODE") { + field(DESC, "10HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} +record(sub, "SR03C-VA-IOC-01:10HZ_UPD_TIME") { + field(DESC, "10HZ Update Time") + field(SCAN, ".1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:10HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} + +record(calc, "SR03C-VA-IOC-01:SCANMON_SEVR") { + field(DESC, "ScanMon Max Severity") + field(SCAN, "1 second") + field(CALC, "0") + field(INPA, "SR03C-VA-IOC-01:01HZ_UPD_TIME.SEVR MS") + field(INPB, "SR03C-VA-IOC-01:02HZ_UPD_TIME.SEVR MS") + field(INPC, "SR03C-VA-IOC-01:05HZ_UPD_TIME.SEVR MS") + field(INPD, "SR03C-VA-IOC-01:1HZ_UPD_TIME.SEVR MS") + field(INPE, "SR03C-VA-IOC-01:2HZ_UPD_TIME.SEVR MS") + field(INPF, "SR03C-VA-IOC-01:5HZ_UPD_TIME.SEVR MS") + field(INPG, "SR03C-VA-IOC-01:10HZ_UPD_TIME.SEVR MS") +} + +# % macro, name, name for gui elements +# % macro, EDM_FILE, edm screen, defaults to ioc_stats_softdls.edl +# % macro, IOC, ioc name + +# % gui, , edm, ioc_stats_softdls.edl, ioc=SR03C-VA-IOC-01 +# % gui, , edmembed, ioc_embed.edl, ioc=SR03C-VA-IOC-01,EDM_FILE=ioc_stats_softdls.edl + + + +# This associates BOY screens with the template +# % gui, , boydetail, devIocStatsApp_opi/iocStats_detail.opi, desc=SR03C-VA-IOC-01, IOC=SR03C-VA-IOC-01, name= +# % gui, , boyembed, devIocStatsApp_opi/iocStats_embed.opi, desc=SR03C-VA-IOC-01, IOC=SR03C-VA-IOC-01, name= +# % gui, , boyembed, devIocStatsApp_opi/iocStats_embed_box.opi, desc=SR03C-VA-IOC-01, IOC=SR03C-VA-IOC-01, name= + +# These define what PVs a detail screen should contain +# % gui, , readback, Startup Time,SR03C-VA-IOC-01:STARTOD +# % gui, , readback, Current Time,SR03C-VA-IOC-01:TOD +# % gui, , readback, Up Time,SR03C-VA-IOC-01:UPTIME +# % gui, , readback, Heartbeat,SR03C-VA-IOC-01:HEARTBEAT +# % gui, , readback, Records,SR03C-VA-IOC-01:RECORD_CNT +# % gui, , readback, Host Name,SR03C-VA-IOC-01:HOSTNAME +# % gui, , readback, User Name,SR03C-VA-IOC-01:ENGINEER +# % gui, , readback, Location,SR03C-VA-IOC-01:LOCATION +# % gui, , readback, CA Clients,SR03C-VA-IOC-01:CA_CLNT_CNT +# % gui, , readback, CA PV Conns,SR03C-VA-IOC-01:CA_CONN_CNT +# % gui, , readback, Susp Tasks,SR03C-VA-IOC-01:SUSP_TASK_CNT +# % gui, , readback, EPICS Version,SR03C-VA-IOC-01:EPICS_VERS +# % gui, , readback, OS Version,SR03C-VA-IOC-01:KERNEL_VERS +# % gui, , readback, Application Directory,SR03C-VA-IOC-01:APP_DIR1 +# % gui, , readback, Startup Script,SR03C-VA-IOC-01:ST_SCRIPT1 +# % gui, , readback, Memory Free,SR03C-VA-IOC-01:MEM_FREE +# % gui, , readback, Memory Used,SR03C-VA-IOC-01:MEM_USED +# % gui, , readback, Memory Max,SR03C-VA-IOC-01:MEM_MAX +# % gui, , readback, File Handles Free,SR03C-VA-IOC-01:FD_FREE +# % gui, , readback, File Handles Max,SR03C-VA-IOC-01:FD_MAX +# % gui, , readback, IOC CPU Load,SR03C-VA-IOC-01:IOC_CPU_LOAD +# % gui, , readback, All CPUs Load,SR03C-VA-IOC-01:SYS_CPU_LOAD +# % gui, , readback, System CPUs,SR03C-VA-IOC-01:CPU_CNT + +record(stringout,"SR03C-VA-IOC-01:0:NAME") { + field(VAL,"Not In Use") + field(DTYP,"Soft Channel") +} +record(longout,"SR03C-VA-IOC-01:0:STATE") { + field(DTYP,"Soft Channel") +} + +#% archiver 10 Monitor VAL +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03C-VA-IOC-01:0:STATUS +record(mbbo,"SR03C-VA-IOC-01:0:STATUS") { + field(DTYP,"Soft Channel") + field(NOBT,"3") + field(ONVL,"1") + field(TWVL,"2") + field(THVL,"3") + field(FRVL,"4") + field(ZRST,"No Status") + field(ONST,"Failure") + field(TWST,"Warning") + field(THST,"Seq Fail") + field(FRST,"Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") +} +record(stringout,"SR03C-VA-IOC-01:0:STATUSST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} +record(stringout,"SR03C-VA-IOC-01:0:TIME") { + field(DTYP,"Soft Channel") + field(VAL,"Not yet saved") +} +record(stringout,"SR03C-VA-IOC-01:1:NAME") { + field(VAL,"Not In Use") + field(DTYP,"Soft Channel") +} +record(longout,"SR03C-VA-IOC-01:1:STATE") { + field(DTYP,"Soft Channel") +} + +#% archiver 10 Monitor VAL +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03C-VA-IOC-01:1:STATUS +record(mbbo,"SR03C-VA-IOC-01:1:STATUS") { + field(DTYP,"Soft Channel") + field(NOBT,"3") + field(ONVL,"1") + field(TWVL,"2") + field(THVL,"3") + field(FRVL,"4") + field(ZRST,"No Status") + field(ONST,"Failure") + field(TWST,"Warning") + field(THST,"Seq Fail") + field(FRST,"Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") +} +record(stringout,"SR03C-VA-IOC-01:1:STATUSST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} +record(stringout,"SR03C-VA-IOC-01:1:TIME") { + field(DTYP,"Soft Channel") + field(VAL,"Not yet saved") +} +record(stringout,"SR03C-VA-IOC-01:2:NAME") { + field(VAL,"Not In Use") + field(DTYP,"Soft Channel") +} +record(longout,"SR03C-VA-IOC-01:2:STATE") { + field(DTYP,"Soft Channel") +} + +#% archiver 10 Monitor VAL +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03C-VA-IOC-01:2:STATUS +record(mbbo,"SR03C-VA-IOC-01:2:STATUS") { + field(DTYP,"Soft Channel") + field(NOBT,"3") + field(ONVL,"1") + field(TWVL,"2") + field(THVL,"3") + field(FRVL,"4") + field(ZRST,"No Status") + field(ONST,"Failure") + field(TWST,"Warning") + field(THST,"Seq Fail") + field(FRST,"Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") +} +record(stringout,"SR03C-VA-IOC-01:2:STATUSST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} +record(stringout,"SR03C-VA-IOC-01:2:TIME") { + field(DTYP,"Soft Channel") + field(VAL,"Not yet saved") +} +# This associates an edm screen with the template +# % gui, AS, edm, save_restoreStatus_more.edl, P=SR03C-VA-IOC-01 + +# This associates BOY screens with the template +# % gui, AS, boydetail, asApp_opi/autosave_detail.opi, desc=SR03C-VA-IOC-01, device=SR03C-VA-IOC-01, name=AS +# % gui, AS, boyembed, asApp_opi/autosave_embed.opi, desc=SR03C-VA-IOC-01, device=SR03C-VA-IOC-01, name=AS +# % gui, AS, boyembed, asApp_opi/autosave_embed_box.opi, desc=SR03C-VA-IOC-01, device=SR03C-VA-IOC-01, name=AS + +# These define what PVs a detail screen should contain +# % gui, AS, readback, General Status, SR03C-VA-IOC-01:SRSTATUSST +# % gui, AS, readback, Recently, SR03C-VA-IOC-01:SRRECENTST +# % gui, AS, readback, Reboot Status, SR03C-VA-IOC-01:RRSTATUSST +# % gui, AS, readback, Reboot time, SR03C-VA-IOC-01:RRTIME +# % gui, AS, readback, File 0 Status, SR03C-VA-IOC-01:0:STATUSST +# % gui, AS, readback, File 0 Name, SR03C-VA-IOC-01:0:NAME +# % gui, AS, readback, File 0 Written, SR03C-VA-IOC-01:0:TIME +# % gui, AS, readback, File 1 Status, SR03C-VA-IOC-01:1:STATUSST +# % gui, AS, readback, File 1 Name, SR03C-VA-IOC-01:1:NAME +# % gui, AS, readback, File 1 Written, SR03C-VA-IOC-01:1:TIME +# % gui, AS, readback, File 2 Status, SR03C-VA-IOC-01:2:STATUSST +# % gui, AS, readback, File 2 Name, SR03C-VA-IOC-01:2:NAME +# % gui, AS, readback, File 2 Written, SR03C-VA-IOC-01:2:TIME + + +# This makes the component icon reflect the status and severity +# % gui, AS, sevr +#% archiver 10 Monitor VAL +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03C-VA-IOC-01:RRSTATUS +record(mbbo,"SR03C-VA-IOC-01:RRSTATUS") { + field(DTYP,"Soft Channel") + field(NOBT,"3") + field(ONVL,"1") + field(TWVL,"2") + field(THVL,"3") + field(FRVL,"4") + field(ZRST,"No Status") + field(ONST,"Failure") + field(TWST,"Warning") + field(THST,"Seq Fail") + field(FRST,"Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") +} + +record(stringout,"SR03C-VA-IOC-01:RRSTATUSST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} + +record(stringout,"SR03C-VA-IOC-01:RRTIME") { + field(DTYP,"Soft Channel") + field(VAL,"Not yet saved") +} + +# % gui, AS, sevr +#% archiver 10 Monitor VAL +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03C-VA-IOC-01:SRSTATUS +record(mbbo,"SR03C-VA-IOC-01:SRSTATUS") { + field(DTYP,"Soft Channel") + field(NOBT,"3") + field(ONVL,"1") + field(TWVL,"2") + field(THVL,"3") + field(FRST,"4") + field(ZRST,"No Status") + field(ONST,"Failure") + field(TWST,"Warning") + field(THST,"Seq Fail") + field(FRST,"Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") +} + +record(bo,"SR03C-VA-IOC-01:SRHEARTBT") { + field(DTYP,"Soft Channel") +} + +record(stringout,"SR03C-VA-IOC-01:SRSTATUSST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} + +record(stringout,"SR03C-VA-IOC-01:SRRECENTST") { + field(DTYP,"Soft Channel") + field(VAL,"Status unknown") +} +# File ether_ip_plcInfo.template +# +# % macro, __doc__, Template for status details of PLC using ether_ip module. +# +# % macro, device, Mandatory. Device PV prefix. +# % macro, port, Mandatory. EtherIP port name. +# +# % macro, healthy_ZNAM, Optional. Defaults to NotHealthy. String to display when healthy bit is not set (ZNAM field on PLCHEALTHY bi record). Max 19 characters. +# % macro, healthy_ZSV, Optional. Defaults to NO_ALARM. Alarm status when healthy bit is not set (ZSV field on PLCHEALTHY bi record). Must be one of the EPICS alarm severity names. +# % macro, healthy_ONAM, Optional. Defaults to Healthy. String to display when healthy bit is set (ONAM field on PLCHEALTHY bi record). Max 19 characters. +# % macro, healthy_OSV, Optional. Defaults to NotHealthy. Alarm status when healthy bit is set (OSV field on PLCHEALTHY bi record). Must be one of the EPICS alarm severity names. +# +# This associates BOY screens with the template. +# % gui, VLVCC_01.INFO, boydetail, ether_ipApp_opi/plcInfo_embed.opi, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, boyembed, ether_ipApp_opi/plcInfo_embed_box.opi, name=VLVCC_01_EIP, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, boyembed, ether_ipApp_opi/plcInfo_embed.opi, name=VLVCC_01_EIP, device=SR03C-VA-VLVCC-01 +# +# This associates EDM screens with the template. +# % gui, VLVCC_01.INFO, edm, ether_ip_plcInfo.edl, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, edmembed, ether_ip_plcInfo-embed.edl, device=SR03C-VA-VLVCC-01 +# +record(stringin, "SR03C-VA-VLVCC-01:PLCNAME") { + field(DESC, "Read PLC Name") + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Name") +} + +record(stringin, "SR03C-VA-VLVCC-01:PLCSTATUS") { + field(DESC, "Read PLC Status") + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Status") +} + +record(bi, "SR03C-VA-VLVCC-01:PLCHEALTHY") { + field(DESC, "Read PLC Healthy Flag") + field(SCAN, "2 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Healthy_Flag") + field(ZNAM, "NotHealthy") + field(ZSV, "NO_ALARM") + field(ONAM, "Healthy") + field(OSV, "MAJOR") +} +record(ai, "SR03S-VA-GAUGE-01:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03S_VC1_GCTLR_01_COMB_A_C1_Comb_mBar") +}record(ai, "SR03S-VA-GAUGE-02:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03S_VC1_GCTLR_01_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-01:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC1_GCTLR_01_COMB_A_C1_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-02:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC1_GCTLR_01_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-03:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_02_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-31:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_03_COMB_A_C1_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-04:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_03_COMB_B_C2_Comb_mBar") +}# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03S-VA-GCTLR-01:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03S-VA-GCTLR-01:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_S_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03S-VA-GCTLR-01:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03S-VA-GCTLR-01:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03S-VA-GCTLR-01:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03S-VA-GCTLR-01:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03S-VA-GCTLR-01:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-GCTLR-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-GCTLR-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-GCTLR-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-GCTLR-01:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-GCTLR-01:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-01:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-01:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-01:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-01:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-01:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-01:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-01:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-01:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-01:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-02:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-02:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_02_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-02:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-02:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-02:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-02:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-02:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-02:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-02:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-02:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-03:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-03:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_03_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-03:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-03:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-03:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-03:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-03:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-03:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-03:COMMS PP MS") + } +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03S-VA-GAUGE-01:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GAUGE-01:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03S-VA-GAUGE-02:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GAUGE-02:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-01:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-01:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-02:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-02:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-03:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-03:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-04:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-04:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-31:PLOG_CALC") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-31:RAW CP MS") +} +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_S_01, edm, mks937aGauge.edl, dom=SR03S, id=01, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_S_01, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 +# % gui, GAUGE_S_01, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 +# % gui, GAUGE_S_01, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_S_01, readback, Pressure, SR03S-VA-GAUGE-01:P +# % gui, GAUGE_S_01, readback, Gauge, SR03S-VA-GAUGE-01:GAUGE +# % gui, GAUGE_S_01, enum, Setpoints Overwrite, SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03S-VA-GAUGE-01:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03S-VA-GAUGE-01:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03S-VA-IMG-01:STA") + field(INPB, "SR03S-VA-PIRG-01:STA") +} + +record(mbbi, "SR03S-VA-GAUGE-01:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03S-VA-GAUGE-01:SEL") + field(FLNK, "SR03S-VA-GAUGE-01:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03S-VA-GAUGE-01:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03S-VA-GAUGE-01:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03S-VA-GAUGE-01:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03S-VA-GAUGE-01:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03S-VA-GAUGE-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-GAUGE-01:P.ADEL") + field(INPA, "SR03S-VA-GAUGE-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-01:CTL:SETSP") + field(OUT, "SR03S-VA-IMG-01:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-01:CTL:ENABLE") + field(OUT, "SR03S-VA-IMG-01:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03S-VA-PIRG-01:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03S-VA-IMG-01:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03S-VA-PIRG-01:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03S-VA-IMG-01:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-GAUGE-01:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-GAUGE-01:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-GAUGE-01:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-01:CTL:ENABLE") + field(LNK2, "SR03S-VA-GAUGE-01:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03S-VA-GAUGE-01:SEL",20,46,0,0,"SR03S-VA-GAUGE-01:SEL") +#! Field("SR03S-VA-GAUGE-01:SEL.FLNK",16777215,1,"SR03S-VA-GAUGE-01:SEL.FLNK") +#! Link("SR03S-VA-GAUGE-01:SEL.FLNK","SR03S-VA-GAUGE-01:GAUGE") +#! Field("SR03S-VA-GAUGE-01:SEL.INPA",16777215,1,"SR03S-VA-GAUGE-01:SEL.INPA") +#! Field("SR03S-VA-GAUGE-01:SEL.INPB",16777215,1,"SR03S-VA-GAUGE-01:SEL.INPB") +#! Field("SR03S-VA-GAUGE-01:SEL.VAL",16777215,1,"SR03S-VA-GAUGE-01:SEL.VAL") +#! Record("SR03S-VA-GAUGE-01:GAUGE",300,65,0,0,"SR03S-VA-GAUGE-01:GAUGE") +#! Field("SR03S-VA-GAUGE-01:GAUGE.INP",16777215,0,"SR03S-VA-GAUGE-01:GAUGE.INP") +#! Link("SR03S-VA-GAUGE-01:GAUGE.INP","SR03S-VA-GAUGE-01:SEL.VAL") +#! Field("SR03S-VA-GAUGE-01:GAUGE.FLNK",16777215,1,"SR03S-VA-GAUGE-01:GAUGE.FLNK") +#! Link("SR03S-VA-GAUGE-01:GAUGE.FLNK","SR03S-VA-GAUGE-01:P") +#! Record("SR03S-VA-GAUGE-01:PLOG",500,17,0,0,"SR03S-VA-GAUGE-01:PLOG") +#! Field("SR03S-VA-GAUGE-01:PLOG.VAL",16777215,1,"SR03S-VA-GAUGE-01:PLOG.VAL") +#! Record("SR03S-VA-GAUGE-01:P",780,212,0,0,"SR03S-VA-GAUGE-01:P") +#! Field("SR03S-VA-GAUGE-01:P.INPA",16777215,0,"SR03S-VA-GAUGE-01:P.INPA") +#! Link("SR03S-VA-GAUGE-01:P.INPA","SR03S-VA-GAUGE-01:PLOG.VAL") +#! Field("SR03S-VA-GAUGE-01:P.ADEL",16777215,1,"SR03S-VA-GAUGE-01:P.ADEL") +#! Field("SR03S-VA-GAUGE-01:P.VAL",16777215,1,"SR03S-VA-GAUGE-01:P.VAL") +#! Record("SR03S-VA-GAUGE-01:ADEL",1060,260,0,0,"SR03S-VA-GAUGE-01:ADEL") +#! Field("SR03S-VA-GAUGE-01:ADEL.OUT",16777215,0,"SR03S-VA-GAUGE-01:ADEL.OUT") +#! Link("SR03S-VA-GAUGE-01:ADEL.OUT","SR03S-VA-GAUGE-01:P.ADEL") +#! Field("SR03S-VA-GAUGE-01:ADEL.INPA",16777215,0,"SR03S-VA-GAUGE-01:ADEL.INPA") +#! Link("SR03S-VA-GAUGE-01:ADEL.INPA","SR03S-VA-GAUGE-01:P.VAL") +#! Record("SR03S-VA-PIRG-01:CTL:SETSP",20,345,0,0,"SR03S-VA-PIRG-01:CTL:SETSP") +#! Field("SR03S-VA-PIRG-01:CTL:SETSP.FLNK",16777215,1,"SR03S-VA-PIRG-01:CTL:SETSP.FLNK") +#! Field("SR03S-VA-PIRG-01:CTL:SETSP.OUT",16777215,1,"SR03S-VA-PIRG-01:CTL:SETSP.OUT") +#! Record("SR03S-VA-PIRG-01:CTL:ENABLE",380,331,0,0,"SR03S-VA-PIRG-01:CTL:ENABLE") +#! Field("SR03S-VA-PIRG-01:CTL:ENABLE.FLNK",16777215,1,"SR03S-VA-PIRG-01:CTL:ENABLE.FLNK") +#! Field("SR03S-VA-PIRG-01:CTL:ENABLE.OUT",16777215,1,"SR03S-VA-PIRG-01:CTL:ENABLE.OUT") +#! Record("SR03S-VA-PIRG-01:CTL:SP",200,352,0,0,"SR03S-VA-PIRG-01:CTL:SP") +#! Field("SR03S-VA-PIRG-01:CTL:SP.INP",16777215,1,"SR03S-VA-PIRG-01:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_S_02, edm, mks937aGauge.edl, dom=SR03S, id=02, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_S_02, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 +# % gui, GAUGE_S_02, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 +# % gui, GAUGE_S_02, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_S_02, readback, Pressure, SR03S-VA-GAUGE-02:P +# % gui, GAUGE_S_02, readback, Gauge, SR03S-VA-GAUGE-02:GAUGE +# % gui, GAUGE_S_02, enum, Setpoints Overwrite, SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03S-VA-GAUGE-02:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03S-VA-GAUGE-02:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03S-VA-IMG-02:STA") + field(INPB, "SR03S-VA-PIRG-02:STA") +} + +record(mbbi, "SR03S-VA-GAUGE-02:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03S-VA-GAUGE-02:SEL") + field(FLNK, "SR03S-VA-GAUGE-02:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03S-VA-GAUGE-02:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03S-VA-GAUGE-02:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03S-VA-GAUGE-02:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03S-VA-GAUGE-02:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03S-VA-GAUGE-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-GAUGE-02:P.ADEL") + field(INPA, "SR03S-VA-GAUGE-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-02:CTL:SETSP") + field(OUT, "SR03S-VA-IMG-02:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-02:CTL:ENABLE") + field(OUT, "SR03S-VA-IMG-02:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03S-VA-PIRG-02:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03S-VA-IMG-02:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03S-VA-PIRG-02:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03S-VA-IMG-02:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-GAUGE-02:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-GAUGE-02:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-GAUGE-02:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-02:CTL:ENABLE") + field(LNK2, "SR03S-VA-GAUGE-02:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03S-VA-GAUGE-02:SEL",20,46,0,0,"SR03S-VA-GAUGE-02:SEL") +#! Field("SR03S-VA-GAUGE-02:SEL.FLNK",16777215,1,"SR03S-VA-GAUGE-02:SEL.FLNK") +#! Link("SR03S-VA-GAUGE-02:SEL.FLNK","SR03S-VA-GAUGE-02:GAUGE") +#! Field("SR03S-VA-GAUGE-02:SEL.INPA",16777215,1,"SR03S-VA-GAUGE-02:SEL.INPA") +#! Field("SR03S-VA-GAUGE-02:SEL.INPB",16777215,1,"SR03S-VA-GAUGE-02:SEL.INPB") +#! Field("SR03S-VA-GAUGE-02:SEL.VAL",16777215,1,"SR03S-VA-GAUGE-02:SEL.VAL") +#! Record("SR03S-VA-GAUGE-02:GAUGE",300,65,0,0,"SR03S-VA-GAUGE-02:GAUGE") +#! Field("SR03S-VA-GAUGE-02:GAUGE.INP",16777215,0,"SR03S-VA-GAUGE-02:GAUGE.INP") +#! Link("SR03S-VA-GAUGE-02:GAUGE.INP","SR03S-VA-GAUGE-02:SEL.VAL") +#! Field("SR03S-VA-GAUGE-02:GAUGE.FLNK",16777215,1,"SR03S-VA-GAUGE-02:GAUGE.FLNK") +#! Link("SR03S-VA-GAUGE-02:GAUGE.FLNK","SR03S-VA-GAUGE-02:P") +#! Record("SR03S-VA-GAUGE-02:PLOG",500,17,0,0,"SR03S-VA-GAUGE-02:PLOG") +#! Field("SR03S-VA-GAUGE-02:PLOG.VAL",16777215,1,"SR03S-VA-GAUGE-02:PLOG.VAL") +#! Record("SR03S-VA-GAUGE-02:P",780,212,0,0,"SR03S-VA-GAUGE-02:P") +#! Field("SR03S-VA-GAUGE-02:P.INPA",16777215,0,"SR03S-VA-GAUGE-02:P.INPA") +#! Link("SR03S-VA-GAUGE-02:P.INPA","SR03S-VA-GAUGE-02:PLOG.VAL") +#! Field("SR03S-VA-GAUGE-02:P.ADEL",16777215,1,"SR03S-VA-GAUGE-02:P.ADEL") +#! Field("SR03S-VA-GAUGE-02:P.VAL",16777215,1,"SR03S-VA-GAUGE-02:P.VAL") +#! Record("SR03S-VA-GAUGE-02:ADEL",1060,260,0,0,"SR03S-VA-GAUGE-02:ADEL") +#! Field("SR03S-VA-GAUGE-02:ADEL.OUT",16777215,0,"SR03S-VA-GAUGE-02:ADEL.OUT") +#! Link("SR03S-VA-GAUGE-02:ADEL.OUT","SR03S-VA-GAUGE-02:P.ADEL") +#! Field("SR03S-VA-GAUGE-02:ADEL.INPA",16777215,0,"SR03S-VA-GAUGE-02:ADEL.INPA") +#! Link("SR03S-VA-GAUGE-02:ADEL.INPA","SR03S-VA-GAUGE-02:P.VAL") +#! Record("SR03S-VA-PIRG-02:CTL:SETSP",20,345,0,0,"SR03S-VA-PIRG-02:CTL:SETSP") +#! Field("SR03S-VA-PIRG-02:CTL:SETSP.FLNK",16777215,1,"SR03S-VA-PIRG-02:CTL:SETSP.FLNK") +#! Field("SR03S-VA-PIRG-02:CTL:SETSP.OUT",16777215,1,"SR03S-VA-PIRG-02:CTL:SETSP.OUT") +#! Record("SR03S-VA-PIRG-02:CTL:ENABLE",380,331,0,0,"SR03S-VA-PIRG-02:CTL:ENABLE") +#! Field("SR03S-VA-PIRG-02:CTL:ENABLE.FLNK",16777215,1,"SR03S-VA-PIRG-02:CTL:ENABLE.FLNK") +#! Field("SR03S-VA-PIRG-02:CTL:ENABLE.OUT",16777215,1,"SR03S-VA-PIRG-02:CTL:ENABLE.OUT") +#! Record("SR03S-VA-PIRG-02:CTL:SP",200,352,0,0,"SR03S-VA-PIRG-02:CTL:SP") +#! Field("SR03S-VA-PIRG-02:CTL:SP.INP",16777215,1,"SR03S-VA-PIRG-02:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_01, edm, mks937aGauge.edl, dom=SR03A, id=01, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_01, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 +# % gui, GAUGE_A_01, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 +# % gui, GAUGE_A_01, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_01, readback, Pressure, SR03A-VA-GAUGE-01:P +# % gui, GAUGE_A_01, readback, Gauge, SR03A-VA-GAUGE-01:GAUGE +# % gui, GAUGE_A_01, enum, Setpoints Overwrite, SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-01:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-01:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-01:STA") + field(INPB, "SR03A-VA-PIRG-01:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-01:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-01:SEL") + field(FLNK, "SR03A-VA-GAUGE-01:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-01:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-01:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-01:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-01:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-01:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-01:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-01:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-01:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-01:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-01:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-01:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-01:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-01:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-01:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-01:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-01:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-01:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-01:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-01:SEL",20,46,0,0,"SR03A-VA-GAUGE-01:SEL") +#! Field("SR03A-VA-GAUGE-01:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-01:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-01:SEL.FLNK","SR03A-VA-GAUGE-01:GAUGE") +#! Field("SR03A-VA-GAUGE-01:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-01:SEL.INPA") +#! Field("SR03A-VA-GAUGE-01:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-01:SEL.INPB") +#! Field("SR03A-VA-GAUGE-01:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-01:SEL.VAL") +#! Record("SR03A-VA-GAUGE-01:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-01:GAUGE") +#! Field("SR03A-VA-GAUGE-01:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-01:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-01:GAUGE.INP","SR03A-VA-GAUGE-01:SEL.VAL") +#! Field("SR03A-VA-GAUGE-01:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-01:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-01:GAUGE.FLNK","SR03A-VA-GAUGE-01:P") +#! Record("SR03A-VA-GAUGE-01:PLOG",500,17,0,0,"SR03A-VA-GAUGE-01:PLOG") +#! Field("SR03A-VA-GAUGE-01:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-01:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-01:P",780,212,0,0,"SR03A-VA-GAUGE-01:P") +#! Field("SR03A-VA-GAUGE-01:P.INPA",16777215,0,"SR03A-VA-GAUGE-01:P.INPA") +#! Link("SR03A-VA-GAUGE-01:P.INPA","SR03A-VA-GAUGE-01:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-01:P.ADEL",16777215,1,"SR03A-VA-GAUGE-01:P.ADEL") +#! Field("SR03A-VA-GAUGE-01:P.VAL",16777215,1,"SR03A-VA-GAUGE-01:P.VAL") +#! Record("SR03A-VA-GAUGE-01:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-01:ADEL") +#! Field("SR03A-VA-GAUGE-01:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-01:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-01:ADEL.OUT","SR03A-VA-GAUGE-01:P.ADEL") +#! Field("SR03A-VA-GAUGE-01:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-01:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-01:ADEL.INPA","SR03A-VA-GAUGE-01:P.VAL") +#! Record("SR03A-VA-PIRG-01:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-01:CTL:SETSP") +#! Field("SR03A-VA-PIRG-01:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-01:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-01:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-01:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-01:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-01:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-01:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-01:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-01:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-01:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-01:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-01:CTL:SP") +#! Field("SR03A-VA-PIRG-01:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-01:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_02, edm, mks937aGauge.edl, dom=SR03A, id=02, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_02, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 +# % gui, GAUGE_A_02, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 +# % gui, GAUGE_A_02, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_02, readback, Pressure, SR03A-VA-GAUGE-02:P +# % gui, GAUGE_A_02, readback, Gauge, SR03A-VA-GAUGE-02:GAUGE +# % gui, GAUGE_A_02, enum, Setpoints Overwrite, SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-02:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-02:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-02:STA") + field(INPB, "SR03A-VA-PIRG-02:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-02:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-02:SEL") + field(FLNK, "SR03A-VA-GAUGE-02:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-02:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-02:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-02:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-02:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-02:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-02:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-02:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-02:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-02:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-02:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-02:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-02:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-02:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-02:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-02:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-02:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-02:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-02:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-02:SEL",20,46,0,0,"SR03A-VA-GAUGE-02:SEL") +#! Field("SR03A-VA-GAUGE-02:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-02:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-02:SEL.FLNK","SR03A-VA-GAUGE-02:GAUGE") +#! Field("SR03A-VA-GAUGE-02:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-02:SEL.INPA") +#! Field("SR03A-VA-GAUGE-02:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-02:SEL.INPB") +#! Field("SR03A-VA-GAUGE-02:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-02:SEL.VAL") +#! Record("SR03A-VA-GAUGE-02:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-02:GAUGE") +#! Field("SR03A-VA-GAUGE-02:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-02:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-02:GAUGE.INP","SR03A-VA-GAUGE-02:SEL.VAL") +#! Field("SR03A-VA-GAUGE-02:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-02:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-02:GAUGE.FLNK","SR03A-VA-GAUGE-02:P") +#! Record("SR03A-VA-GAUGE-02:PLOG",500,17,0,0,"SR03A-VA-GAUGE-02:PLOG") +#! Field("SR03A-VA-GAUGE-02:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-02:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-02:P",780,212,0,0,"SR03A-VA-GAUGE-02:P") +#! Field("SR03A-VA-GAUGE-02:P.INPA",16777215,0,"SR03A-VA-GAUGE-02:P.INPA") +#! Link("SR03A-VA-GAUGE-02:P.INPA","SR03A-VA-GAUGE-02:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-02:P.ADEL",16777215,1,"SR03A-VA-GAUGE-02:P.ADEL") +#! Field("SR03A-VA-GAUGE-02:P.VAL",16777215,1,"SR03A-VA-GAUGE-02:P.VAL") +#! Record("SR03A-VA-GAUGE-02:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-02:ADEL") +#! Field("SR03A-VA-GAUGE-02:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-02:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-02:ADEL.OUT","SR03A-VA-GAUGE-02:P.ADEL") +#! Field("SR03A-VA-GAUGE-02:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-02:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-02:ADEL.INPA","SR03A-VA-GAUGE-02:P.VAL") +#! Record("SR03A-VA-PIRG-02:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-02:CTL:SETSP") +#! Field("SR03A-VA-PIRG-02:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-02:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-02:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-02:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-02:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-02:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-02:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-02:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-02:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-02:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-02:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-02:CTL:SP") +#! Field("SR03A-VA-PIRG-02:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-02:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_03, edm, mks937aGauge.edl, dom=SR03A, id=03, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_03, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 +# % gui, GAUGE_A_03, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 +# % gui, GAUGE_A_03, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_03, readback, Pressure, SR03A-VA-GAUGE-03:P +# % gui, GAUGE_A_03, readback, Gauge, SR03A-VA-GAUGE-03:GAUGE +# % gui, GAUGE_A_03, enum, Setpoints Overwrite, SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-03:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-03:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-03:STA") + field(INPB, "SR03A-VA-PIRG-03:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-03:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-03:SEL") + field(FLNK, "SR03A-VA-GAUGE-03:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-03:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-03:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-03:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-03:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-03:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-03:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-03:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-03:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-03:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-03:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-03:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-03:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-03:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-03:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-03:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-03:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-03:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-03:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-03:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-03:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-03:SEL",20,46,0,0,"SR03A-VA-GAUGE-03:SEL") +#! Field("SR03A-VA-GAUGE-03:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-03:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-03:SEL.FLNK","SR03A-VA-GAUGE-03:GAUGE") +#! Field("SR03A-VA-GAUGE-03:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-03:SEL.INPA") +#! Field("SR03A-VA-GAUGE-03:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-03:SEL.INPB") +#! Field("SR03A-VA-GAUGE-03:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-03:SEL.VAL") +#! Record("SR03A-VA-GAUGE-03:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-03:GAUGE") +#! Field("SR03A-VA-GAUGE-03:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-03:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-03:GAUGE.INP","SR03A-VA-GAUGE-03:SEL.VAL") +#! Field("SR03A-VA-GAUGE-03:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-03:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-03:GAUGE.FLNK","SR03A-VA-GAUGE-03:P") +#! Record("SR03A-VA-GAUGE-03:PLOG",500,17,0,0,"SR03A-VA-GAUGE-03:PLOG") +#! Field("SR03A-VA-GAUGE-03:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-03:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-03:P",780,212,0,0,"SR03A-VA-GAUGE-03:P") +#! Field("SR03A-VA-GAUGE-03:P.INPA",16777215,0,"SR03A-VA-GAUGE-03:P.INPA") +#! Link("SR03A-VA-GAUGE-03:P.INPA","SR03A-VA-GAUGE-03:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-03:P.ADEL",16777215,1,"SR03A-VA-GAUGE-03:P.ADEL") +#! Field("SR03A-VA-GAUGE-03:P.VAL",16777215,1,"SR03A-VA-GAUGE-03:P.VAL") +#! Record("SR03A-VA-GAUGE-03:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-03:ADEL") +#! Field("SR03A-VA-GAUGE-03:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-03:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-03:ADEL.OUT","SR03A-VA-GAUGE-03:P.ADEL") +#! Field("SR03A-VA-GAUGE-03:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-03:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-03:ADEL.INPA","SR03A-VA-GAUGE-03:P.VAL") +#! Record("SR03A-VA-PIRG-03:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-03:CTL:SETSP") +#! Field("SR03A-VA-PIRG-03:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-03:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-03:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-03:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-03:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-03:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-03:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-03:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-03:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-03:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-03:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-03:CTL:SP") +#! Field("SR03A-VA-PIRG-03:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-03:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_04, edm, mks937aGauge.edl, dom=SR03A, id=04, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_04, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 +# % gui, GAUGE_A_04, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 +# % gui, GAUGE_A_04, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_04, readback, Pressure, SR03A-VA-GAUGE-04:P +# % gui, GAUGE_A_04, readback, Gauge, SR03A-VA-GAUGE-04:GAUGE +# % gui, GAUGE_A_04, enum, Setpoints Overwrite, SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-04:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-04:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-04:STA") + field(INPB, "SR03A-VA-PIRG-04:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-04:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-04:SEL") + field(FLNK, "SR03A-VA-GAUGE-04:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-04:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-04:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-04:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-04:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-04:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-04:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-04:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-04:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-04:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-04:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-04:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-04:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-04:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-04:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-04:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-04:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-04:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-04:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-04:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-04:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-04:SEL",20,46,0,0,"SR03A-VA-GAUGE-04:SEL") +#! Field("SR03A-VA-GAUGE-04:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-04:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-04:SEL.FLNK","SR03A-VA-GAUGE-04:GAUGE") +#! Field("SR03A-VA-GAUGE-04:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-04:SEL.INPA") +#! Field("SR03A-VA-GAUGE-04:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-04:SEL.INPB") +#! Field("SR03A-VA-GAUGE-04:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-04:SEL.VAL") +#! Record("SR03A-VA-GAUGE-04:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-04:GAUGE") +#! Field("SR03A-VA-GAUGE-04:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-04:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-04:GAUGE.INP","SR03A-VA-GAUGE-04:SEL.VAL") +#! Field("SR03A-VA-GAUGE-04:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-04:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-04:GAUGE.FLNK","SR03A-VA-GAUGE-04:P") +#! Record("SR03A-VA-GAUGE-04:PLOG",500,17,0,0,"SR03A-VA-GAUGE-04:PLOG") +#! Field("SR03A-VA-GAUGE-04:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-04:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-04:P",780,212,0,0,"SR03A-VA-GAUGE-04:P") +#! Field("SR03A-VA-GAUGE-04:P.INPA",16777215,0,"SR03A-VA-GAUGE-04:P.INPA") +#! Link("SR03A-VA-GAUGE-04:P.INPA","SR03A-VA-GAUGE-04:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-04:P.ADEL",16777215,1,"SR03A-VA-GAUGE-04:P.ADEL") +#! Field("SR03A-VA-GAUGE-04:P.VAL",16777215,1,"SR03A-VA-GAUGE-04:P.VAL") +#! Record("SR03A-VA-GAUGE-04:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-04:ADEL") +#! Field("SR03A-VA-GAUGE-04:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-04:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-04:ADEL.OUT","SR03A-VA-GAUGE-04:P.ADEL") +#! Field("SR03A-VA-GAUGE-04:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-04:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-04:ADEL.INPA","SR03A-VA-GAUGE-04:P.VAL") +#! Record("SR03A-VA-PIRG-04:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-04:CTL:SETSP") +#! Field("SR03A-VA-PIRG-04:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-04:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-04:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-04:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-04:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-04:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-04:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-04:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-04:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-04:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-04:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-04:CTL:SP") +#! Field("SR03A-VA-PIRG-04:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-04:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_31, edm, mks937aGauge.edl, dom=SR03A, id=31, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_31, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 +# % gui, GAUGE_A_31, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 +# % gui, GAUGE_A_31, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_31, readback, Pressure, SR03A-VA-GAUGE-31:P +# % gui, GAUGE_A_31, readback, Gauge, SR03A-VA-GAUGE-31:GAUGE +# % gui, GAUGE_A_31, enum, Setpoints Overwrite, SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-31:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-31:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-31:STA") + field(INPB, "SR03A-VA-PIRG-31:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-31:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-31:SEL") + field(FLNK, "SR03A-VA-GAUGE-31:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-31:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-31:PLOG_CALC CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-31:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-31:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-31:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-31:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-31:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-31:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-31:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-31:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-31:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-31:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-31:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-31:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-31:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-31:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-31:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-31:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-31:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-31:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-31:SEL",20,46,0,0,"SR03A-VA-GAUGE-31:SEL") +#! Field("SR03A-VA-GAUGE-31:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-31:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-31:SEL.FLNK","SR03A-VA-GAUGE-31:GAUGE") +#! Field("SR03A-VA-GAUGE-31:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-31:SEL.INPA") +#! Field("SR03A-VA-GAUGE-31:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-31:SEL.INPB") +#! Field("SR03A-VA-GAUGE-31:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-31:SEL.VAL") +#! Record("SR03A-VA-GAUGE-31:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-31:GAUGE") +#! Field("SR03A-VA-GAUGE-31:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-31:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-31:GAUGE.INP","SR03A-VA-GAUGE-31:SEL.VAL") +#! Field("SR03A-VA-GAUGE-31:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-31:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-31:GAUGE.FLNK","SR03A-VA-GAUGE-31:P") +#! Record("SR03A-VA-GAUGE-31:PLOG",500,17,0,0,"SR03A-VA-GAUGE-31:PLOG") +#! Field("SR03A-VA-GAUGE-31:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-31:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-31:P",780,212,0,0,"SR03A-VA-GAUGE-31:P") +#! Field("SR03A-VA-GAUGE-31:P.INPA",16777215,0,"SR03A-VA-GAUGE-31:P.INPA") +#! Link("SR03A-VA-GAUGE-31:P.INPA","SR03A-VA-GAUGE-31:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-31:P.ADEL",16777215,1,"SR03A-VA-GAUGE-31:P.ADEL") +#! Field("SR03A-VA-GAUGE-31:P.VAL",16777215,1,"SR03A-VA-GAUGE-31:P.VAL") +#! Record("SR03A-VA-GAUGE-31:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-31:ADEL") +#! Field("SR03A-VA-GAUGE-31:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-31:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-31:ADEL.OUT","SR03A-VA-GAUGE-31:P.ADEL") +#! Field("SR03A-VA-GAUGE-31:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-31:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-31:ADEL.INPA","SR03A-VA-GAUGE-31:P.VAL") +#! Record("SR03A-VA-PIRG-31:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-31:CTL:SETSP") +#! Field("SR03A-VA-PIRG-31:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-31:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-31:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-31:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-31:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-31:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-31:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-31:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-31:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-31:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-31:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-31:CTL:SP") +#! Field("SR03A-VA-PIRG-31:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-31:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03S-VA-IMG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-IMG-01:P +# % gui, , readback, Status, SR03S-VA-IMG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03S-VA-IMG-01:RLY1:SP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03S-VA-IMG-01:RLY1:SPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03S-VA-IMG-01:RLY2:SP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03S-VA-IMG-01:RLY3:SP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03S-VA-IMG-01:ISENABLED +# % gui, , enum, Cold Cathode, SR03S-VA-IMG-01:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03S-VA-IMG-01:CTL:SETCCS, =concat(pv("SR03S-VA-IMG-01:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03S-VA-IMG-01:CTL:SETMODE, =concat(pv("SR03S-VA-IMG-01:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03S-VA-IMG-01:PRO:SP, =pv("SR03S-VA-IMG-01:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03S-VA-IMG-01:RLY1:SP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03S-VA-IMG-01:RLY1:SPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03S-VA-IMG-01:RLY2:SP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03S-VA-IMG-01:RLY2:SPOFF, =pv("SR03S-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03S-VA-IMG-01:RLY3:SP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03S-VA-IMG-01:RLY3:SPOFF, =pv("SR03S-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03S-VA-IMG-01:RLY4:SP, =pv("SR03S-VA-IMG-01:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03S-VA-IMG-01:RLY4:SPOFF, =pv("SR03S-VA-IMG-01:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03S-VA-IMG-01:FRLY:SP, =pv("SR03S-VA-IMG-01:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03S-VA-IMG-01:PRO:OUTSP, =pv("SR03S-VA-IMG-01:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03S-VA-IMG-01:RLY1:SETSP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03S-VA-IMG-01:RLY1:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03S-VA-IMG-01:RLY2:SETSP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03S-VA-IMG-01:RLY2:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03S-VA-IMG-01:RLY3:SETSP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03S-VA-IMG-01:RLY3:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03S-VA-IMG-01:RLY4:SETSP, =pv("SR03S-VA-IMG-01:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03S-VA-IMG-01:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-01:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03S-VA-IMG-01:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-IMG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IMG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-IMG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03S-VA-IMG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-IMG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IMG-01:P.ADEL") + field(INPA, "SR03S-VA-IMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IMG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IMG-01:P MS") + field(FLNK, "SR03S-VA-IMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03S-VA-IMG-01:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03S-VA-IMG-01:P MS") + field(FLNK, "SR03S-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03S-VA-IMG-01:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03S-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03S-VA-IMG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-01:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03S-VA-IMG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-01:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:CTL:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:CTL:SETSP") + field(LNK2, "SR03S-VA-IMG-01:CTL:OUTSP PP") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03S-VA-IMG-01:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03S-VA-IMG-01:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_S_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03S-VA-IMG-01:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03S-VA-IMG-01:CTL:GETDIS") + field(INPA, "SR03S-VA-IMG-01:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03S-VA-IMG-01:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03S-VA-IMG-01:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03S-VA-IMG-01:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-IMG-01:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-IMG-01:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:PRO:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:PRO:SETSP") + field(LNK2, "SR03S-VA-IMG-01:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03S-VA-IMG-01:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-01:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_S_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03S-VA-IMG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:RLY:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:RLY:SETSP") + field(LNK2, "SR03S-VA-IMG-01:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03S-VA-IMG-01:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_S_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03S-VA-IMG-01:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-IMG-01:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-01:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:RLA:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:RLA:SETSP") + field(LNK2, "SR03S-VA-IMG-01:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03S-VA-IMG-01:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03S-VA-IMG-01:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03S-VA-IMG-01:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_S_01_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03S-VA-IMG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-IMG-01:STA") + field(FLNK, "SR03S-VA-IMG-01:P") +} + + + +record(bi, "SR03S-VA-IMG-01:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-IMG-01:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-IMG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IMG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-IMG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-IMG-01:CTL:ENABLE") + field(LNK2, "SR03S-VA-IMG-01:PRO:ENABLE") + field(LNK3, "SR03S-VA-IMG-01:RLY:ENABLE") + field(LNK4, "SR03S-VA-IMG-01:RLA:ENABLE") + field(LNK5, "SR03S-VA-IMG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IMG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03S-VA-IMG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-IMG-02:P +# % gui, , readback, Status, SR03S-VA-IMG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03S-VA-IMG-02:RLY1:SP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03S-VA-IMG-02:RLY1:SPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03S-VA-IMG-02:RLY2:SP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03S-VA-IMG-02:RLY3:SP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03S-VA-IMG-02:ISENABLED +# % gui, , enum, Cold Cathode, SR03S-VA-IMG-02:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03S-VA-IMG-02:CTL:SETCCS, =concat(pv("SR03S-VA-IMG-02:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03S-VA-IMG-02:CTL:SETMODE, =concat(pv("SR03S-VA-IMG-02:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03S-VA-IMG-02:PRO:SP, =pv("SR03S-VA-IMG-02:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03S-VA-IMG-02:RLY1:SP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03S-VA-IMG-02:RLY1:SPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03S-VA-IMG-02:RLY2:SP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03S-VA-IMG-02:RLY2:SPOFF, =pv("SR03S-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03S-VA-IMG-02:RLY3:SP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03S-VA-IMG-02:RLY3:SPOFF, =pv("SR03S-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03S-VA-IMG-02:RLY4:SP, =pv("SR03S-VA-IMG-02:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03S-VA-IMG-02:RLY4:SPOFF, =pv("SR03S-VA-IMG-02:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03S-VA-IMG-02:FRLY:SP, =pv("SR03S-VA-IMG-02:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03S-VA-IMG-02:PRO:OUTSP, =pv("SR03S-VA-IMG-02:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03S-VA-IMG-02:RLY1:SETSP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03S-VA-IMG-02:RLY1:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03S-VA-IMG-02:RLY2:SETSP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03S-VA-IMG-02:RLY2:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03S-VA-IMG-02:RLY3:SETSP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03S-VA-IMG-02:RLY3:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03S-VA-IMG-02:RLY4:SETSP, =pv("SR03S-VA-IMG-02:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03S-VA-IMG-02:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-02:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03S-VA-IMG-02:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-IMG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IMG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-IMG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03S-VA-IMG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-IMG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IMG-02:P.ADEL") + field(INPA, "SR03S-VA-IMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IMG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IMG-02:P MS") + field(FLNK, "SR03S-VA-IMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03S-VA-IMG-02:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03S-VA-IMG-02:P MS") + field(FLNK, "SR03S-VA-IMG-02:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03S-VA-IMG-02:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03S-VA-IMG-02:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03S-VA-IMG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-02:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03S-VA-IMG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-02:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:CTL:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:CTL:SETSP") + field(LNK2, "SR03S-VA-IMG-02:CTL:OUTSP PP") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03S-VA-IMG-02:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03S-VA-IMG-02:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_S_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03S-VA-IMG-02:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03S-VA-IMG-02:CTL:GETDIS") + field(INPA, "SR03S-VA-IMG-02:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03S-VA-IMG-02:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03S-VA-IMG-02:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03S-VA-IMG-02:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-IMG-02:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-IMG-02:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:PRO:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:PRO:SETSP") + field(LNK2, "SR03S-VA-IMG-02:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03S-VA-IMG-02:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-02:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_S_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03S-VA-IMG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:RLY:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:RLY:SETSP") + field(LNK2, "SR03S-VA-IMG-02:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03S-VA-IMG-02:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_S_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03S-VA-IMG-02:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-IMG-02:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-02:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:RLA:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:RLA:SETSP") + field(LNK2, "SR03S-VA-IMG-02:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03S-VA-IMG-02:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03S-VA-IMG-02:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03S-VA-IMG-02:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_S_01_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03S-VA-IMG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-IMG-02:STA") + field(FLNK, "SR03S-VA-IMG-02:P") +} + + + +record(bi, "SR03S-VA-IMG-02:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-IMG-02:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-IMG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IMG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-IMG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-IMG-02:CTL:ENABLE") + field(LNK2, "SR03S-VA-IMG-02:PRO:ENABLE") + field(LNK3, "SR03S-VA-IMG-02:RLY:ENABLE") + field(LNK4, "SR03S-VA-IMG-02:RLA:ENABLE") + field(LNK5, "SR03S-VA-IMG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IMG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-01:P +# % gui, , readback, Status, SR03A-VA-IMG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-01:RLY1:SP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-01:RLY1:SPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-01:RLY2:SP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-01:RLY3:SP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-01:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-01:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-01:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-01:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-01:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-01:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-01:PRO:SP, =pv("SR03A-VA-IMG-01:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-01:RLY1:SP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-01:RLY1:SPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-01:RLY2:SP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-01:RLY2:SPOFF, =pv("SR03A-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-01:RLY3:SP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-01:RLY3:SPOFF, =pv("SR03A-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-01:RLY4:SP, =pv("SR03A-VA-IMG-01:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-01:RLY4:SPOFF, =pv("SR03A-VA-IMG-01:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-01:FRLY:SP, =pv("SR03A-VA-IMG-01:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-01:PRO:OUTSP, =pv("SR03A-VA-IMG-01:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-01:RLY1:SETSP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-01:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-01:RLY2:SETSP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-01:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-01:RLY3:SETSP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-01:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-01:RLY4:SETSP, =pv("SR03A-VA-IMG-01:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-01:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-01:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-01:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-01:P.ADEL") + field(INPA, "SR03A-VA-IMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-01:P MS") + field(FLNK, "SR03A-VA-IMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-01:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-01:P MS") + field(FLNK, "SR03A-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-01:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-01:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03A-VA-IMG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-01:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-01:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-01:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-01:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_A_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-01:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-01:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-01:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-01:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-01:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-01:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-01:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-01:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-01:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-01:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-01:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_A_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-01:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-01:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_A_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-01:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-01:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-01:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-01:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-01:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03A-VA-IMG-01:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03A-VA-IMG-01:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_01_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03A-VA-IMG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-01:STA") + field(FLNK, "SR03A-VA-IMG-01:P") +} + + + +record(bi, "SR03A-VA-IMG-01:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-01:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-01:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-01:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-01:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-01:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-02:P +# % gui, , readback, Status, SR03A-VA-IMG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-02:RLY1:SP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-02:RLY1:SPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-02:RLY2:SP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-02:RLY3:SP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-02:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-02:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-02:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-02:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-02:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-02:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-02:PRO:SP, =pv("SR03A-VA-IMG-02:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-02:RLY1:SP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-02:RLY1:SPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-02:RLY2:SP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-02:RLY2:SPOFF, =pv("SR03A-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-02:RLY3:SP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-02:RLY3:SPOFF, =pv("SR03A-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-02:RLY4:SP, =pv("SR03A-VA-IMG-02:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-02:RLY4:SPOFF, =pv("SR03A-VA-IMG-02:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-02:FRLY:SP, =pv("SR03A-VA-IMG-02:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-02:PRO:OUTSP, =pv("SR03A-VA-IMG-02:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-02:RLY1:SETSP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-02:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-02:RLY2:SETSP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-02:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-02:RLY3:SETSP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-02:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-02:RLY4:SETSP, =pv("SR03A-VA-IMG-02:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-02:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-02:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-02:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-02:P.ADEL") + field(INPA, "SR03A-VA-IMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-02:P MS") + field(FLNK, "SR03A-VA-IMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-02:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-02:P MS") + field(FLNK, "SR03A-VA-IMG-02:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-02:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-02:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-02:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03A-VA-IMG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-02:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-02:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-02:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-02:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-02:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-02:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-02:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-02:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-02:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-02:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-02:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-02:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-02:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-02:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-02:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-02:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-02:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-02:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-02:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-02:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-02:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-02:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-02:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-02:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_01_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-02:STA") + field(FLNK, "SR03A-VA-IMG-02:P") +} + + + +record(bi, "SR03A-VA-IMG-02:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-02:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-02:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-02:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-02:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-02:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-03 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-03:P +# % gui, , readback, Status, SR03A-VA-IMG-03:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-03:RLY1:SP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-03:RLY1:SPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-03:RLY2:SP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-03:RLY3:SP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-03:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-03:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-03:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-03:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-03:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-03:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-03:PRO:SP, =pv("SR03A-VA-IMG-03:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-03:RLY1:SP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-03:RLY1:SPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-03:RLY2:SP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-03:RLY2:SPOFF, =pv("SR03A-VA-IMG-03:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-03:RLY3:SP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-03:RLY3:SPOFF, =pv("SR03A-VA-IMG-03:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-03:RLY4:SP, =pv("SR03A-VA-IMG-03:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-03:RLY4:SPOFF, =pv("SR03A-VA-IMG-03:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-03:FRLY:SP, =pv("SR03A-VA-IMG-03:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-03:PRO:OUTSP, =pv("SR03A-VA-IMG-03:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-03:RLY1:SETSP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-03:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-03:RLY2:SETSP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-03:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-03:RLY3:SETSP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-03:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-03:RLY4:SETSP, =pv("SR03A-VA-IMG-03:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-03:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-IMG-03:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-03:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-03:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_02_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-03:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-03:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-IMG-03:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-03:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-03:P.ADEL") + field(INPA, "SR03A-VA-IMG-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-03:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-03:P MS") + field(FLNK, "SR03A-VA-IMG-03:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-03:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-03:P MS") + field(FLNK, "SR03A-VA-IMG-03:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-03:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-03:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-03:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-03:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03A-VA-IMG-03:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-03:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-03:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-03:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-03:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_02_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-03:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-03:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-03:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-03:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-03:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-03:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-03:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-03:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-03:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-03:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-03:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_02_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-03:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-03:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-03:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-03:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-03:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_02_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-03:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-03:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-03:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-03:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-03:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-03:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-03:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_02_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-03:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-03:STA") + field(FLNK, "SR03A-VA-IMG-03:P") +} + + + +record(bi, "SR03A-VA-IMG-03:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-03:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-03:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-03:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-03:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-03:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-03:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-03:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-03:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-03:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-03:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-04 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-04:P +# % gui, , readback, Status, SR03A-VA-IMG-04:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-04:RLY1:SP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-04:RLY1:SPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-04:RLY2:SP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-04:RLY3:SP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-04:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-04:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-04:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-04:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-04:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-04:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-04:PRO:SP, =pv("SR03A-VA-IMG-04:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-04:RLY1:SP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-04:RLY1:SPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-04:RLY2:SP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-04:RLY2:SPOFF, =pv("SR03A-VA-IMG-04:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-04:RLY3:SP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-04:RLY3:SPOFF, =pv("SR03A-VA-IMG-04:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-04:RLY4:SP, =pv("SR03A-VA-IMG-04:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-04:RLY4:SPOFF, =pv("SR03A-VA-IMG-04:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-04:FRLY:SP, =pv("SR03A-VA-IMG-04:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-04:PRO:OUTSP, =pv("SR03A-VA-IMG-04:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-04:RLY1:SETSP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-04:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-04:RLY2:SETSP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-04:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-04:RLY3:SETSP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-04:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-04:RLY4:SETSP, =pv("SR03A-VA-IMG-04:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-04:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-04:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-04:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-04:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-04:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-04:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-04:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-04:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-04:P.ADEL") + field(INPA, "SR03A-VA-IMG-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-04:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-04:P MS") + field(FLNK, "SR03A-VA-IMG-04:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-04:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-04:P MS") + field(FLNK, "SR03A-VA-IMG-04:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-04:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-04:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-04:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-04:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03A-VA-IMG-04:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-04:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-04:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-04:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-04:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_03_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-04:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-04:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-04:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-04:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-04:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-04:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-04:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-04:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-04:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-04:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-04:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_03_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-04:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-04:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-04:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-04:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-04:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_03_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-04:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-04:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-04:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-04:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-04:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-04:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-04:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_03_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-04:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-04:STA") + field(FLNK, "SR03A-VA-IMG-04:P") +} + + + +record(bi, "SR03A-VA-IMG-04:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-04:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-04:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-04:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-04:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-04:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-04:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-04:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-04:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-04:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-04:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-31 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-31:P +# % gui, , readback, Status, SR03A-VA-IMG-31:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-31:RLY1:SP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-31:RLY1:SPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-31:RLY2:SP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-31:RLY3:SP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-31:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-31:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-31:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-31:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-31:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-31:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-31:PRO:SP, =pv("SR03A-VA-IMG-31:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-31:RLY1:SP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-31:RLY1:SPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-31:RLY2:SP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-31:RLY2:SPOFF, =pv("SR03A-VA-IMG-31:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-31:RLY3:SP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-31:RLY3:SPOFF, =pv("SR03A-VA-IMG-31:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-31:RLY4:SP, =pv("SR03A-VA-IMG-31:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-31:RLY4:SPOFF, =pv("SR03A-VA-IMG-31:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-31:FRLY:SP, =pv("SR03A-VA-IMG-31:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-31:PRO:OUTSP, =pv("SR03A-VA-IMG-31:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-31:RLY1:SETSP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-31:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-31:RLY2:SETSP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-31:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-31:RLY3:SETSP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-31:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-31:RLY4:SETSP, =pv("SR03A-VA-IMG-31:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-31:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-31:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-31:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-31:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-31:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-31:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-31:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-31:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-31:P.ADEL") + field(INPA, "SR03A-VA-IMG-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-31:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-31:P MS") + field(FLNK, "SR03A-VA-IMG-31:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-31:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-31:P MS") + field(FLNK, "SR03A-VA-IMG-31:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-31:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-31:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-31:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-31:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +record(mbbo, "SR03A-VA-IMG-31:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-31:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-31:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-31:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(HIHI, "9.6e-1") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-31:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_A_03_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-31:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-31:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-31:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-31:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-31:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-31:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-31:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL, "5.0e-4") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-31:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-31:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-31:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(HIHI, "1.1e-2") + field(LOLO, "1.2e-5") + field(HIGH, "5.1e-4") + field(LOW, "4.9e-4") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-31:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_A_03_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-31:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL, "1.0e-6") + field(SDIS, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-31:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-31:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-31:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-6") + field(LOW, "9.0e-7") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-31:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_A_03_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-31:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-31:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-31:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-31:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-31:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(HIHI, "1.3e-2") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-7") + field(LOW, "9.0e-8") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03A-VA-IMG-31:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03A-VA-IMG-31:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_03_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03A-VA-IMG-31:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-31:STA") + field(FLNK, "SR03A-VA-IMG-31:P") +} + + + +record(bi, "SR03A-VA-IMG-31:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-31:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-31:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-31:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-31:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-31:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-31:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-31:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-31:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-31:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-31:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03S-VA-PIRG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-PIRG-01:P +# % gui, , readback, Status, SR03S-VA-PIRG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-PIRG-01:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03S-VA-PIRG-01:CTL:SP, =pv("SR03S-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03S-VA-PIRG-01:RLY1:SP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03S-VA-PIRG-01:RLY2:SP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03S-VA-PIRG-01:ENABLE +# % gui, , readback, CTL Setpoint On, SR03S-VA-PIRG-01:CTL:SP, =pv("SR03S-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03S-VA-PIRG-01:CTL:HYST, =pv("SR03S-VA-PIRG-01:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03S-VA-PIRG-01:RLY1:SP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03S-VA-PIRG-01:RLY1:SPOFF, =pv("SR03S-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03S-VA-PIRG-01:RLY2:SP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03S-VA-PIRG-01:RLY2:SPOFF, =pv("SR03S-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03S-VA-PIRG-01:CTL:SETSP, =pv("SR03S-VA-PIRG-01:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03S-VA-PIRG-01:CTL:SETSPOFF, =pv("SR03S-VA-PIRG-01:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03S-VA-PIRG-01:RLY1:SETSP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03S-VA-PIRG-01:RLY1:SETSPOFF, =pv("SR03S-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03S-VA-PIRG-01:RLY2:SETSP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03S-VA-PIRG-01:RLY2:SETSPOFF, =pv("SR03S-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03S-VA-PIRG-01:RLY1:MODE, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03S-VA-PIRG-01:RLY1:DIR, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03S-VA-PIRG-01:RLY2:MODE, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03S-VA-PIRG-01:RLY2:DIR, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03S-VA-PIRG-01:RLY1:SETMODE, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03S-VA-PIRG-01:RLY1:SETDIR, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03S-VA-PIRG-01:RLY2:SETMODE, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03S-VA-PIRG-01:RLY2:SETDIR, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-PIRG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-PIRG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-PIRG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-PIRG-01:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03S-VA-PIRG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-PIRG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-PIRG-01:P.ADEL") + field(INPA, "SR03S-VA-PIRG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-PIRG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-PIRG-01:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-01:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-PIRG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-01:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-PIRG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03S-VA-PIRG-01:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-PIRG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-PIRG-01:RLY:DIS PP") + field(DOL2, "SR03S-VA-PIRG-01:RLY:SETSP") + field(LNK2, "SR03S-VA-PIRG-01:RLY:OUTSP PP") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03S-VA-PIRG-01:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03S-VA-PIRG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-PIRG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03S-VA-PIRG-01) GCTLR_S_01_PORT 0") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03S-VA-PIRG-01:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_S_01_PORT 0") +} + +record(calc, "SR03S-VA-PIRG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-PIRG-01:STA") + field(FLNK, "SR03S-VA-PIRG-01:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-PIRG-01:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-PIRG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03S-VA-PIRG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-PIRG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-PIRG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-01:RLY:ENABLE") + field(LNK2, "SR03S-VA-PIRG-01:RLY:SETSP") + field(LNK3, "SR03S-VA-PIRG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-PIRG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03S-VA-PIRG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-PIRG-02:P +# % gui, , readback, Status, SR03S-VA-PIRG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-PIRG-02:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03S-VA-PIRG-02:CTL:SP, =pv("SR03S-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03S-VA-PIRG-02:RLY1:SP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03S-VA-PIRG-02:RLY2:SP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03S-VA-PIRG-02:ENABLE +# % gui, , readback, CTL Setpoint On, SR03S-VA-PIRG-02:CTL:SP, =pv("SR03S-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03S-VA-PIRG-02:CTL:HYST, =pv("SR03S-VA-PIRG-02:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03S-VA-PIRG-02:RLY1:SP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03S-VA-PIRG-02:RLY1:SPOFF, =pv("SR03S-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03S-VA-PIRG-02:RLY2:SP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03S-VA-PIRG-02:RLY2:SPOFF, =pv("SR03S-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03S-VA-PIRG-02:CTL:SETSP, =pv("SR03S-VA-PIRG-02:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03S-VA-PIRG-02:CTL:SETSPOFF, =pv("SR03S-VA-PIRG-02:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03S-VA-PIRG-02:RLY1:SETSP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03S-VA-PIRG-02:RLY1:SETSPOFF, =pv("SR03S-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03S-VA-PIRG-02:RLY2:SETSP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03S-VA-PIRG-02:RLY2:SETSPOFF, =pv("SR03S-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03S-VA-PIRG-02:RLY1:MODE, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03S-VA-PIRG-02:RLY1:DIR, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03S-VA-PIRG-02:RLY2:MODE, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03S-VA-PIRG-02:RLY2:DIR, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03S-VA-PIRG-02:RLY1:SETMODE, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03S-VA-PIRG-02:RLY1:SETDIR, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03S-VA-PIRG-02:RLY2:SETMODE, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03S-VA-PIRG-02:RLY2:SETDIR, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-PIRG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-PIRG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-PIRG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-PIRG-02:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03S-VA-PIRG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-PIRG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-PIRG-02:P.ADEL") + field(INPA, "SR03S-VA-PIRG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-PIRG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-PIRG-02:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-02:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-PIRG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-02:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-PIRG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03S-VA-PIRG-02:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-PIRG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-PIRG-02:RLY:DIS PP") + field(DOL2, "SR03S-VA-PIRG-02:RLY:SETSP") + field(LNK2, "SR03S-VA-PIRG-02:RLY:OUTSP PP") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03S-VA-PIRG-02:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03S-VA-PIRG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-PIRG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03S-VA-PIRG-02) GCTLR_S_01_PORT 0") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03S-VA-PIRG-02:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_S_01_PORT 0") +} + +record(calc, "SR03S-VA-PIRG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-PIRG-02:STA") + field(FLNK, "SR03S-VA-PIRG-02:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-PIRG-02:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-PIRG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03S-VA-PIRG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-PIRG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-PIRG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-02:RLY:ENABLE") + field(LNK2, "SR03S-VA-PIRG-02:RLY:SETSP") + field(LNK3, "SR03S-VA-PIRG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-PIRG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-01:P +# % gui, , readback, Status, SR03A-VA-PIRG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-01:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-01:CTL:SP, =pv("SR03A-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-01:RLY1:SP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-01:RLY2:SP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-01:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-01:CTL:SP, =pv("SR03A-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-01:CTL:HYST, =pv("SR03A-VA-PIRG-01:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-01:RLY1:SP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-01:RLY1:SPOFF, =pv("SR03A-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-01:RLY2:SP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-01:RLY2:SPOFF, =pv("SR03A-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-01:CTL:SETSP, =pv("SR03A-VA-PIRG-01:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-01:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-01:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-01:RLY1:SETSP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-01:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-01:RLY2:SETSP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-01:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-01:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-01:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-01:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-01:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-01:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-01:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-01:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-01:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-PIRG-01:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-01:P.ADEL") + field(INPA, "SR03A-VA-PIRG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-01:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-01:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-01:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-01:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-01:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-01:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-01:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-01:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03A-VA-PIRG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03A-VA-PIRG-01) GCTLR_A_01_PORT 0") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-01:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_A_01_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-01:STA") + field(FLNK, "SR03A-VA-PIRG-01:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-01:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-01:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-01:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-02:P +# % gui, , readback, Status, SR03A-VA-PIRG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-02:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-02:CTL:SP, =pv("SR03A-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-02:RLY1:SP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-02:RLY2:SP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-02:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-02:CTL:SP, =pv("SR03A-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-02:CTL:HYST, =pv("SR03A-VA-PIRG-02:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-02:RLY1:SP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-02:RLY1:SPOFF, =pv("SR03A-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-02:RLY2:SP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-02:RLY2:SPOFF, =pv("SR03A-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-02:CTL:SETSP, =pv("SR03A-VA-PIRG-02:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-02:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-02:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-02:RLY1:SETSP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-02:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-02:RLY2:SETSP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-02:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-02:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-02:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-02:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-02:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-02:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-02:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-02:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-02:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-PIRG-02:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-02:P.ADEL") + field(INPA, "SR03A-VA-PIRG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-02:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-02:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-02:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-02:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-02:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-02:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-02:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-02:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-02) GCTLR_A_01_PORT 0") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-02:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_01_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-02:STA") + field(FLNK, "SR03A-VA-PIRG-02:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-02:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-02:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-02:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-03 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-03:P +# % gui, , readback, Status, SR03A-VA-PIRG-03:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-03:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-03:CTL:SP, =pv("SR03A-VA-PIRG-03:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-03:RLY1:SP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-03:RLY2:SP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-03:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-03:CTL:SP, =pv("SR03A-VA-PIRG-03:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-03:CTL:HYST, =pv("SR03A-VA-PIRG-03:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-03:RLY1:SP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-03:RLY1:SPOFF, =pv("SR03A-VA-PIRG-03:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-03:RLY2:SP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-03:RLY2:SPOFF, =pv("SR03A-VA-PIRG-03:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-03:CTL:SETSP, =pv("SR03A-VA-PIRG-03:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-03:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-03:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-03:RLY1:SETSP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-03:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-03:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-03:RLY2:SETSP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-03:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-03:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-03:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-03:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-03:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-03:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-03:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-03:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-03:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-03:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-03:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_02_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-03:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-03:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-PIRG-03:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-03:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-03:P.ADEL") + field(INPA, "SR03A-VA-PIRG-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-03:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-03:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-03:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-03:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-03:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-03:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-03:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-03:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-03:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-03:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-03:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-03:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-03:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-03) GCTLR_A_02_PORT 0") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-03:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_02_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-03:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-03:STA") + field(FLNK, "SR03A-VA-PIRG-03:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-03:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-03:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-03:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-03:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-03:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-03:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-03:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-03:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-03:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-04 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-04:P +# % gui, , readback, Status, SR03A-VA-PIRG-04:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-04:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-04:CTL:SP, =pv("SR03A-VA-PIRG-04:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-04:RLY1:SP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-04:RLY2:SP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-04:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-04:CTL:SP, =pv("SR03A-VA-PIRG-04:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-04:CTL:HYST, =pv("SR03A-VA-PIRG-04:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-04:RLY1:SP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-04:RLY1:SPOFF, =pv("SR03A-VA-PIRG-04:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-04:RLY2:SP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-04:RLY2:SPOFF, =pv("SR03A-VA-PIRG-04:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-04:CTL:SETSP, =pv("SR03A-VA-PIRG-04:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-04:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-04:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-04:RLY1:SETSP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-04:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-04:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-04:RLY2:SETSP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-04:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-04:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-04:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-04:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-04:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-04:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-04:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-04:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-04:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-04:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-04:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-04:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-04:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-PIRG-04:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-04:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-04:P.ADEL") + field(INPA, "SR03A-VA-PIRG-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-04:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-04:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-04:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-04:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-04:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-04:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-04:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-04:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-04:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-04:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-04:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-04:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-04:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-04) GCTLR_A_03_PORT 0") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-04:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_03_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-04:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-04:STA") + field(FLNK, "SR03A-VA-PIRG-04:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-04:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-04:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-04:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-04:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-04:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-04:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-04:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-04:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-04:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-31 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-31:P +# % gui, , readback, Status, SR03A-VA-PIRG-31:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-31:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-31:CTL:SP, =pv("SR03A-VA-PIRG-31:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-31:RLY1:SP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-31:RLY2:SP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-31:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-31:CTL:SP, =pv("SR03A-VA-PIRG-31:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-31:CTL:HYST, =pv("SR03A-VA-PIRG-31:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-31:RLY1:SP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-31:RLY1:SPOFF, =pv("SR03A-VA-PIRG-31:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-31:RLY2:SP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-31:RLY2:SPOFF, =pv("SR03A-VA-PIRG-31:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-31:CTL:SETSP, =pv("SR03A-VA-PIRG-31:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-31:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-31:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-31:RLY1:SETSP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-31:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-31:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-31:RLY2:SETSP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-31:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-31:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-31:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-31:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-31:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-31:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-31:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-31:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-31:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-31:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-31:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-31:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-31:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-PIRG-31:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-31:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-31:P.ADEL") + field(INPA, "SR03A-VA-PIRG-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-31:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-31:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-31:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-31:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-31:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-31:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-31:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-31:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-31:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-31:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-31:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-31:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03A-VA-PIRG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(HIHI, "1.0e3") + field(LOLO, "2.6e-3") + field(HIGH, "1.1e-2") + field(LOW, "9.0e-3") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-31:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03A-VA-PIRG-31) GCTLR_A_03_PORT 0") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-31:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_A_03_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-31:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-31:STA") + field(FLNK, "SR03A-VA-PIRG-31:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-31:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-31:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-31:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-31:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-31:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-31:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-31:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-31:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-31:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03S-VA-MPC-01 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03S-VA-MPC-01:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03S-VA-MPC-01:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03S-VA-MPC-01:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03S-VA-MPC-01:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03S-VA-MPC-01:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03S-VA-MPC-01:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03S-VA-MPC-01:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03S-VA-MPC-01:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_S_01_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03S-VA-MPC-01:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_S_01_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03S-VA-MPC-01:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_S_01_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03S-VA-MPC-01:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_S_01_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03S-VA-MPC-01:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-MPC-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-MPC-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-MPC-01:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-MPC-01:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-01 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-01:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-01:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-01:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-01:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-01:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-01:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-01:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-01:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_01_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-01:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_01_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-01:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_01_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-01:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_01_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-01:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-01:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-01:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-02 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-02:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-02:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-02:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-02:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-02:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-02:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-02:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-02:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_02_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-02:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_02_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-02:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_02_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-02:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_02_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-02:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-02:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-02:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-03 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-03:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-03:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-03:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-03:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-03:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-03:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-03:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-03:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_03_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-03:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_03_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-03:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_03_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-03:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_03_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-03:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-03:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-03:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-04 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-04:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-04:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-04:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-04:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-04:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-04:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-04:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-04:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_04_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-04:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_04_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-04:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_04_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-04:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_04_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-04:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-04:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-04:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-04:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-04:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-05 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-05:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-05:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-05:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-05:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-05:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-05:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-05:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-05:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_05_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-05:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_05_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-05:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_05_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-05:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_05_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-05:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-05:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-05:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-05:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-05:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-06 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-06:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-06:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-06:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-06:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-06:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-06:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-06:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-06:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_06_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-06:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_06_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-06:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_06_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-06:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_06_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-06:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-06:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-06:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-06:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-06:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-07 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-07:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-07:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-07:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-07:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-07:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-07:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-07:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-07:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_07_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-07:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_07_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-07:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_07_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-07:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_07_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-07:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-07:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-07:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-07:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-07:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpc.edl, device=SR03A-VA-MPC-08 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-08:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-08:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-08:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-08:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-08:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-08:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-08:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-08:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_08_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-08:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_08_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-08:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_08_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-08:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_08_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-08:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-08:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-08:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-08:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-08:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03S-VA-IONP-01 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03S-VA-IONP-01:STA +# % gui, , readback, Error Code, SR03S-VA-IONP-01:ERR +# % gui, , readback, Voltage, SR03S-VA-IONP-01:V +# % gui, , readback, Current, SR03S-VA-IONP-01:I +# % gui, , readback, Strapping, SR03S-VA-IONP-01:HV +# % gui, , enum, Start, SR03S-VA-IONP-01:START +# % gui, , readback, Pump Size, SR03S-VA-IONP-01:SIZE +# % gui, , demand, Pump Size, SR03S-VA-IONP-01:SETSIZE +# % gui, , readback, Calibration, SR03S-VA-IONP-01:CAL +# % gui, , demand, Calibration, SR03S-VA-IONP-01:SETCAL +# % gui, , readback, Setpoint 1 On, SR03S-VA-IONP-01:SP1ON +# % gui, , demand, Setpoint 1 On, SR03S-VA-IONP-01:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03S-VA-IONP-01:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03S-VA-IONP-01:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03S-VA-IONP-01:SP2ON +# % gui, , demand, Setpoint 2 On, SR03S-VA-IONP-01:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03S-VA-IONP-01:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03S-VA-IONP-01:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03S-VA-IONP-01:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-IONP-01:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IONP-01:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03S-VA-IONP-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IONP-01:P.ADEL") + field(INPA, "SR03S-VA-IONP-01:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IONP-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IONP-01:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03S-VA-IONP-01:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03S-VA-IONP-01:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03S-VA-IONP-01:STA +record(mbbi, "SR03S-VA-IONP-01:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03S-VA-IONP-01:ERRSEL") +} + +record(seq, "SR03S-VA-IONP-01:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IONP-01:ERR PP MS") + field(DOL2, "SR03S-VA-IONP-01:ERRGET PP MS") + field(LNK2, "SR03S-VA-IONP-01:ERR PP MS") +} + +record(longin, "SR03S-VA-IONP-01:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03S-VA-IONP-01:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03S-VA-IONP-01:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03S-VA-IONP-01:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03S-VA-IONP-01:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03S-VA-IONP-01:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_S_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03S-VA-IONP-01:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03S-VA-IONP-01:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_S_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03S-VA-IONP-01:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_S_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03S-VA-IONP-01:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03S-VA-IONP-01:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IONP-01:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03S-VA-IONP-01:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-01:RQSTSP1ON PP") + field(LNK2, "SR03S-VA-IONP-01:SETSPS1.DISA PP") + field(LNK3, "SR03S-VA-IONP-01:SETSP1OFF PP") + field(LNK4, "SR03S-VA-IONP-01:SETSP1ON PP") + field(LNK5, "SR03S-VA-IONP-01:SETSPS1.DISA PP") + field(LNK6, "SR03S-VA-IONP-01:INIT:SETSP2SEQ PP") + field(LNK7, "SR03S-VA-IONP-01:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-01:SP1OFF") + field(DOL4, "SR03S-VA-IONP-01:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03S-VA-IONP-01:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-01:RQSTSP2ON PP") + field(LNK2, "SR03S-VA-IONP-01:SETSPS2.DISA PP") + field(LNK3, "SR03S-VA-IONP-01:SETSP2OFF PP") + field(LNK4, "SR03S-VA-IONP-01:SETSP2ON PP") + field(LNK5, "SR03S-VA-IONP-01:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-01:SP2OFF") + field(DOL4, "SR03S-VA-IONP-01:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03S-VA-IONP-01:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03S-VA-IONP-01:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-01,2) MPC_S_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03S-VA-IONP-01:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-01:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-01:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-01:SETSP1ON") + field(INPB, "SR03S-VA-IONP-01:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-01:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-01:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-01:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-01:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-01:SETSP2ON") + field(INPB, "SR03S-VA-IONP-01:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-01:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-01:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03S-VA-IONP-01:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } + +record(calc, "SR03S-VA-IONP-01:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03S-VA-IONP-01:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03S-VA-IONP-01:SETTEXT_PROC PP") +} + +record(calcout, "SR03S-VA-IONP-01:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03S-VA-IONP-01:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03S-VA-IONP-01:SETTEXT.PROC PP") +} + +record(stringout, "SR03S-VA-IONP-01:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03S-VA-IONP-01") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03S-VA-IONP-01) MPC_S_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IONP-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-IONP-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-IONP-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-IONP-01:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-IONP-01:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03S-VA-IONP-03 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03S-VA-IONP-03:STA +# % gui, , readback, Error Code, SR03S-VA-IONP-03:ERR +# % gui, , readback, Voltage, SR03S-VA-IONP-03:V +# % gui, , readback, Current, SR03S-VA-IONP-03:I +# % gui, , readback, Strapping, SR03S-VA-IONP-03:HV +# % gui, , enum, Start, SR03S-VA-IONP-03:START +# % gui, , readback, Pump Size, SR03S-VA-IONP-03:SIZE +# % gui, , demand, Pump Size, SR03S-VA-IONP-03:SETSIZE +# % gui, , readback, Calibration, SR03S-VA-IONP-03:CAL +# % gui, , demand, Calibration, SR03S-VA-IONP-03:SETCAL +# % gui, , readback, Setpoint 1 On, SR03S-VA-IONP-03:SP1ON +# % gui, , demand, Setpoint 1 On, SR03S-VA-IONP-03:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03S-VA-IONP-03:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03S-VA-IONP-03:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03S-VA-IONP-03:SP2ON +# % gui, , demand, Setpoint 2 On, SR03S-VA-IONP-03:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03S-VA-IONP-03:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03S-VA-IONP-03:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03S-VA-IONP-03:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-IONP-03:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IONP-03:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03S-VA-IONP-03:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IONP-03:P.ADEL") + field(INPA, "SR03S-VA-IONP-03:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IONP-03:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IONP-03:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03S-VA-IONP-03:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03S-VA-IONP-03:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03S-VA-IONP-03:STA +record(mbbi, "SR03S-VA-IONP-03:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03S-VA-IONP-03:ERRSEL") +} + +record(seq, "SR03S-VA-IONP-03:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IONP-03:ERR PP MS") + field(DOL2, "SR03S-VA-IONP-03:ERRGET PP MS") + field(LNK2, "SR03S-VA-IONP-03:ERR PP MS") +} + +record(longin, "SR03S-VA-IONP-03:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03S-VA-IONP-03:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03S-VA-IONP-03:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03S-VA-IONP-03:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03S-VA-IONP-03:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03S-VA-IONP-03:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_S_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03S-VA-IONP-03:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03S-VA-IONP-03:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_S_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03S-VA-IONP-03:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_S_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03S-VA-IONP-03:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03S-VA-IONP-03:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IONP-03:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03S-VA-IONP-03:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-03:RQSTSP1ON PP") + field(LNK2, "SR03S-VA-IONP-03:SETSPS1.DISA PP") + field(LNK3, "SR03S-VA-IONP-03:SETSP1OFF PP") + field(LNK4, "SR03S-VA-IONP-03:SETSP1ON PP") + field(LNK5, "SR03S-VA-IONP-03:SETSPS1.DISA PP") + field(LNK6, "SR03S-VA-IONP-03:INIT:SETSP2SEQ PP") + field(LNK7, "SR03S-VA-IONP-03:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-03:SP1OFF") + field(DOL4, "SR03S-VA-IONP-03:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03S-VA-IONP-03:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-03:RQSTSP2ON PP") + field(LNK2, "SR03S-VA-IONP-03:SETSPS2.DISA PP") + field(LNK3, "SR03S-VA-IONP-03:SETSP2OFF PP") + field(LNK4, "SR03S-VA-IONP-03:SETSP2ON PP") + field(LNK5, "SR03S-VA-IONP-03:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-03:SP2OFF") + field(DOL4, "SR03S-VA-IONP-03:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03S-VA-IONP-03:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03S-VA-IONP-03:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-03,2) MPC_S_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03S-VA-IONP-03:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-03:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP1ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP1OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-03:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-03:SETSP1ON") + field(INPB, "SR03S-VA-IONP-03:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-03:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-03:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-03:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP2ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP2OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-03:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-03:SETSP2ON") + field(INPB, "SR03S-VA-IONP-03:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-03:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-03:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03S-VA-IONP-03:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } + +record(calc, "SR03S-VA-IONP-03:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03S-VA-IONP-03:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03S-VA-IONP-03:SETTEXT_PROC PP") +} + +record(calcout, "SR03S-VA-IONP-03:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03S-VA-IONP-03:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03S-VA-IONP-03:SETTEXT.PROC PP") +} + +record(stringout, "SR03S-VA-IONP-03:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03S-VA-IONP-03") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03S-VA-IONP-03) MPC_S_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IONP-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-IONP-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-IONP-03:COMMSMATCH") + { + field(INAA, "SR03S-VA-IONP-03:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-IONP-03:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-01 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-01:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-01:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-01:V +# % gui, , readback, Current, SR03A-VA-IONP-01:I +# % gui, , readback, Strapping, SR03A-VA-IONP-01:HV +# % gui, , enum, Start, SR03A-VA-IONP-01:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-01:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-01:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-01:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-01:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-01:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-01:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-01:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-01:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-01:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-01:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-01:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-01:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-01:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-01:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-01:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-01:P.ADEL") + field(INPA, "SR03A-VA-IONP-01:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-01:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-01:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-01:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-01:STA +record(mbbi, "SR03A-VA-IONP-01:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-01:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-01:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-01:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-01:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-01:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-01:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-01:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-01:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-01:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-01:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-01:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-01:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-01:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-01:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-01:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-01:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-01:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-01:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-01:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-01:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-01:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-01:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-01:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-01:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-01:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-01:SP1OFF") + field(DOL4, "SR03A-VA-IONP-01:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-01:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-01:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-01:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-01:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-01:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-01:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-01:SP2OFF") + field(DOL4, "SR03A-VA-IONP-01:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-01:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-01:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-01,2) MPC_A_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-01:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-01:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-01:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-01:SETSP1ON") + field(INPB, "SR03A-VA-IONP-01:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-01:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-01:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-01:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-01:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-01:SETSP2ON") + field(INPB, "SR03A-VA-IONP-01:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-01:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-01:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-01:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-01:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-01:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-01:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-01:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-01:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-01:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-01:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-01") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-01) MPC_A_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-01:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-01:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-02 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-02:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-02:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-02:V +# % gui, , readback, Current, SR03A-VA-IONP-02:I +# % gui, , readback, Strapping, SR03A-VA-IONP-02:HV +# % gui, , enum, Start, SR03A-VA-IONP-02:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-02:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-02:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-02:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-02:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-02:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-02:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-02:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-02:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-02:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-02:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-02:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-02:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-02:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-02:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-02:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-02:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-02:P.ADEL") + field(INPA, "SR03A-VA-IONP-02:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-02:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-02:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-02:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-02:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-02:STA +record(mbbi, "SR03A-VA-IONP-02:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-02:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-02:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-02:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-02:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-02:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-02:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-02:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-02:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-02:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-02:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-02:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-02:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-02:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-02:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-02:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-02:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-02:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-02:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-02:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-02:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-02:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-02:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-02:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-02:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-02:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-02:SP1OFF") + field(DOL4, "SR03A-VA-IONP-02:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-02:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-02:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-02:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-02:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-02:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-02:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-02:SP2OFF") + field(DOL4, "SR03A-VA-IONP-02:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-02:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-02:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-02,2) MPC_A_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-02:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-02:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-02:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-02:SETSP1ON") + field(INPB, "SR03A-VA-IONP-02:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-02:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-02:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-02:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-02:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-02:SETSP2ON") + field(INPB, "SR03A-VA-IONP-02:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-02:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-02:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-02:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-02:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-02:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-02:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-02:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-02:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-02:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-02:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-02") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-02) MPC_A_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-02:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-02:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-02:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-03 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-03:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-03:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-03:V +# % gui, , readback, Current, SR03A-VA-IONP-03:I +# % gui, , readback, Strapping, SR03A-VA-IONP-03:HV +# % gui, , enum, Start, SR03A-VA-IONP-03:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-03:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-03:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-03:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-03:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-03:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-03:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-03:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-03:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-03:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-03:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-03:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-03:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-03:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-03:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-03:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-03:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-03:P.ADEL") + field(INPA, "SR03A-VA-IONP-03:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-03:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-03:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-03:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-03:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-03:STA +record(mbbi, "SR03A-VA-IONP-03:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-03:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-03:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-03:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-03:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-03:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-03:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-03:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-03:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-03:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-03:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-03:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_02_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-03:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-03:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_02_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-03:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_02_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-03:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-03:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-03:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-03:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-03:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-03:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-03:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-03:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-03:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-03:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-03:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-03:SP1OFF") + field(DOL4, "SR03A-VA-IONP-03:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-03:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-03:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-03:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-03:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-03:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-03:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-03:SP2OFF") + field(DOL4, "SR03A-VA-IONP-03:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-03:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-03:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-03,2) MPC_A_02_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-03:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-03:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-03:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-03:SETSP1ON") + field(INPB, "SR03A-VA-IONP-03:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-03:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-03:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-03:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-03:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-03:SETSP2ON") + field(INPB, "SR03A-VA-IONP-03:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-03:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-03:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-03:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-03:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-03:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-03:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-03:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-03:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-03:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-03:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-03") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-03) MPC_A_02_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-03:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-03:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-04 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-04:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-04:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-04:V +# % gui, , readback, Current, SR03A-VA-IONP-04:I +# % gui, , readback, Strapping, SR03A-VA-IONP-04:HV +# % gui, , enum, Start, SR03A-VA-IONP-04:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-04:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-04:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-04:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-04:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-04:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-04:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-04:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-04:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-04:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-04:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-04:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-04:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-04:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-04:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-04:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-04:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-04:P.ADEL") + field(INPA, "SR03A-VA-IONP-04:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-04:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-04:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-04:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-04:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-04:STA +record(mbbi, "SR03A-VA-IONP-04:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-04:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-04:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-04:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-04:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-04:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-04:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-04:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-04:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-04:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-04:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-04:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_02_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-04:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-04:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_02_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-04:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_02_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-04:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-04:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-04:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-04:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-04:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-04:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-04:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-04:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-04:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-04:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-04:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-04:SP1OFF") + field(DOL4, "SR03A-VA-IONP-04:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-04:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-04:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-04:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-04:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-04:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-04:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-04:SP2OFF") + field(DOL4, "SR03A-VA-IONP-04:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-04:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-04:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-04,2) MPC_A_02_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-04:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-04:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-04:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-04:SETSP1ON") + field(INPB, "SR03A-VA-IONP-04:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-04:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-04:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-04:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-04:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-04:SETSP2ON") + field(INPB, "SR03A-VA-IONP-04:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-04:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-04:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-04:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-04:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-04:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-04:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-04:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-04:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-04:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-04:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-04") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-04) MPC_A_02_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-04:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-04:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-04:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-04:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-04:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-05 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-05:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-05:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-05:V +# % gui, , readback, Current, SR03A-VA-IONP-05:I +# % gui, , readback, Strapping, SR03A-VA-IONP-05:HV +# % gui, , enum, Start, SR03A-VA-IONP-05:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-05:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-05:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-05:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-05:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-05:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-05:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-05:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-05:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-05:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-05:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-05:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-05:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-05:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-05:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-05:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-05:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-05:P.ADEL") + field(INPA, "SR03A-VA-IONP-05:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-05:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-05:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-05:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-05:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-05:STA +record(mbbi, "SR03A-VA-IONP-05:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-05:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-05:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-05:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-05:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-05:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-05:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-05:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-05:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-05:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-05:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-05:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_03_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-05:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-05:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_03_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-05:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_03_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-05:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-05:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-05:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-05:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-05:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-05:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-05:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-05:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-05:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-05:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-05:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-05:SP1OFF") + field(DOL4, "SR03A-VA-IONP-05:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-05:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-05:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-05:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-05:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-05:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-05:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-05:SP2OFF") + field(DOL4, "SR03A-VA-IONP-05:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-05:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-05:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-05,2) MPC_A_03_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-05:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-05:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP1ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP1OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-05:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-05:SETSP1ON") + field(INPB, "SR03A-VA-IONP-05:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-05:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-05:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-05:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP2ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP2OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-05:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-05:SETSP2ON") + field(INPB, "SR03A-VA-IONP-05:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-05:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-05:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-05:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-05:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-05:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-05:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-05:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-05:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-05:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-05:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-05") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-05) MPC_A_03_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-05:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-05:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-05:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-05:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-05:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-06 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-06:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-06:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-06:V +# % gui, , readback, Current, SR03A-VA-IONP-06:I +# % gui, , readback, Strapping, SR03A-VA-IONP-06:HV +# % gui, , enum, Start, SR03A-VA-IONP-06:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-06:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-06:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-06:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-06:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-06:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-06:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-06:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-06:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-06:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-06:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-06:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-06:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-06:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-06:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-06:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-06:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-06:P.ADEL") + field(INPA, "SR03A-VA-IONP-06:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-06:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-06:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-06:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-06:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-06:STA +record(mbbi, "SR03A-VA-IONP-06:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-06:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-06:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-06:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-06:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-06:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-06:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-06:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-06:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-06:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-06:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-06:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_03_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-06:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-06:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_03_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-06:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_03_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-06:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-06:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-06:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-06:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-06:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-06:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-06:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-06:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-06:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-06:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-06:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-06:SP1OFF") + field(DOL4, "SR03A-VA-IONP-06:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-06:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-06:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-06:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-06:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-06:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-06:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-06:SP2OFF") + field(DOL4, "SR03A-VA-IONP-06:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-06:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-06:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-06,2) MPC_A_03_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-06:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-06:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-06:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-06:SETSP1ON") + field(INPB, "SR03A-VA-IONP-06:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-06:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-06:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-06:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-06:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-06:SETSP2ON") + field(INPB, "SR03A-VA-IONP-06:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-06:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-06:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-06:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-06:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-06:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-06:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-06:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-06:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-06:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-06:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-06") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-06) MPC_A_03_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-06:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-06:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-06:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-06:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-06:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-07 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-07:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-07:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-07:V +# % gui, , readback, Current, SR03A-VA-IONP-07:I +# % gui, , readback, Strapping, SR03A-VA-IONP-07:HV +# % gui, , enum, Start, SR03A-VA-IONP-07:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-07:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-07:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-07:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-07:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-07:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-07:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-07:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-07:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-07:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-07:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-07:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-07:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-07:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-07:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-07:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-07:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-07:P.ADEL") + field(INPA, "SR03A-VA-IONP-07:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-07:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-07:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-07:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-07:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-07:STA +record(mbbi, "SR03A-VA-IONP-07:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-07:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-07:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-07:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-07:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-07:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-07:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-07:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-07:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-07:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-07:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-07:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_04_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-07:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-07:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_04_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-07:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_04_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-07:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-07:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-07:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-07:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-07:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-07:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-07:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-07:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-07:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-07:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-07:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-07:SP1OFF") + field(DOL4, "SR03A-VA-IONP-07:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-07:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-07:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-07:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-07:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-07:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-07:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-07:SP2OFF") + field(DOL4, "SR03A-VA-IONP-07:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-07:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-07:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-07,2) MPC_A_04_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-07:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-07:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-07:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-07:SETSP1ON") + field(INPB, "SR03A-VA-IONP-07:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-07:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-07:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-07:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-07:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-07:SETSP2ON") + field(INPB, "SR03A-VA-IONP-07:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-07:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-07:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-07:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-07:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-07:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-07:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-07:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-07:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-07:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-07:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-07") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-07) MPC_A_04_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-07:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-07:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-07:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-07:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-07:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-08 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-08:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-08:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-08:V +# % gui, , readback, Current, SR03A-VA-IONP-08:I +# % gui, , readback, Strapping, SR03A-VA-IONP-08:HV +# % gui, , enum, Start, SR03A-VA-IONP-08:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-08:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-08:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-08:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-08:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-08:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-08:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-08:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-08:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-08:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-08:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-08:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-08:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-08:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-08:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-08:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-08:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-08:P.ADEL") + field(INPA, "SR03A-VA-IONP-08:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-08:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-08:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-08:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-08:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-08:STA +record(mbbi, "SR03A-VA-IONP-08:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-08:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-08:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-08:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-08:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-08:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-08:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-08:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-08:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-08:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-08:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-08:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_04_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-08:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-08:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_04_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-08:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_04_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-08:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-08:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-08:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-08:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-08:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-08:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-08:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-08:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-08:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-08:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-08:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-08:SP1OFF") + field(DOL4, "SR03A-VA-IONP-08:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-08:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-08:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-08:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-08:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-08:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-08:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-08:SP2OFF") + field(DOL4, "SR03A-VA-IONP-08:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-08:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-08:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-08,2) MPC_A_04_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-08:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-08:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-08:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-08:SETSP1ON") + field(INPB, "SR03A-VA-IONP-08:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-08:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-08:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-08:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-08:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-08:SETSP2ON") + field(INPB, "SR03A-VA-IONP-08:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-08:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-08:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-08:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-08:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-08:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-08:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-08:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-08:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-08:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-08:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-08") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-08) MPC_A_04_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-08:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-08:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-08:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-08:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-08:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-09 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-09:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-09:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-09:V +# % gui, , readback, Current, SR03A-VA-IONP-09:I +# % gui, , readback, Strapping, SR03A-VA-IONP-09:HV +# % gui, , enum, Start, SR03A-VA-IONP-09:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-09:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-09:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-09:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-09:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-09:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-09:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-09:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-09:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-09:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-09:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-09:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-09:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-09:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-09:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-09:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-09:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-09:P.ADEL") + field(INPA, "SR03A-VA-IONP-09:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-09:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-09:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-09:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-09:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-09:STA +record(mbbi, "SR03A-VA-IONP-09:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-09:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-09:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-09:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-09:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-09:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-09:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-09:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-09:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-09:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-09:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-09:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_06_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-09:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-09:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_06_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-09:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_06_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-09:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-09:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-09:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-09:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-09:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-09:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-09:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-09:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-09:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-09:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-09:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-09:SP1OFF") + field(DOL4, "SR03A-VA-IONP-09:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-09:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-09:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-09:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-09:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-09:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-09:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-09:SP2OFF") + field(DOL4, "SR03A-VA-IONP-09:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-09:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-09:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-09,2) MPC_A_06_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-09:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-09:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-09:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-09:SETSP1ON") + field(INPB, "SR03A-VA-IONP-09:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-09:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-09:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-09:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-09:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-09:SETSP2ON") + field(INPB, "SR03A-VA-IONP-09:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-09:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-09:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-09:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-09:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-09:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-09:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-09:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-09:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-09:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-09:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-09") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-09) MPC_A_06_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-09:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-09:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-09:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-09:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-09:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-10 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-10:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-10:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-10:V +# % gui, , readback, Current, SR03A-VA-IONP-10:I +# % gui, , readback, Strapping, SR03A-VA-IONP-10:HV +# % gui, , enum, Start, SR03A-VA-IONP-10:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-10:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-10:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-10:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-10:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-10:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-10:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-10:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-10:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-10:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-10:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-10:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-10:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-10:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-10:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-10:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-10:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-10:P.ADEL") + field(INPA, "SR03A-VA-IONP-10:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-10:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-10:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-10:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-10:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-10:STA +record(mbbi, "SR03A-VA-IONP-10:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-10:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-10:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-10:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-10:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-10:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-10:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-10:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-10:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-10:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-10:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-10:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_05_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-10:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-10:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_05_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-10:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_05_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-10:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-10:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-10:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-10:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-10:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-10:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-10:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-10:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-10:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-10:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-10:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-10:SP1OFF") + field(DOL4, "SR03A-VA-IONP-10:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-10:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-10:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-10:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-10:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-10:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-10:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-10:SP2OFF") + field(DOL4, "SR03A-VA-IONP-10:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-10:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-10:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-10,2) MPC_A_05_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-10:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-10:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-10:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-10:SETSP1ON") + field(INPB, "SR03A-VA-IONP-10:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-10:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-10:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-10:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-10:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-10:SETSP2ON") + field(INPB, "SR03A-VA-IONP-10:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-10:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-10:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-10:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-10:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-10:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-10:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-10:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-10:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-10:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-10:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-10") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-10) MPC_A_05_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-10:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-10:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-10:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-10:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-10:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-11 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-11:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-11:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-11:V +# % gui, , readback, Current, SR03A-VA-IONP-11:I +# % gui, , readback, Strapping, SR03A-VA-IONP-11:HV +# % gui, , enum, Start, SR03A-VA-IONP-11:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-11:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-11:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-11:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-11:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-11:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-11:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-11:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-11:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-11:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-11:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-11:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-11:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-11:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-11:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-11:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-11:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-11:P.ADEL") + field(INPA, "SR03A-VA-IONP-11:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-11:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-11:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-11:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-11:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-11:STA +record(mbbi, "SR03A-VA-IONP-11:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-11:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-11:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-11:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-11:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-11:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-11:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-11:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-11:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-11:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-11:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-11:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_06_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-11:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-11:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_06_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-11:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_06_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-11:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-11:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-11:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-11:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-11:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-11:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-11:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-11:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-11:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-11:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-11:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-11:SP1OFF") + field(DOL4, "SR03A-VA-IONP-11:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-11:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-11:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-11:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-11:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-11:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-11:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-11:SP2OFF") + field(DOL4, "SR03A-VA-IONP-11:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-11:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-11:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-11,2) MPC_A_06_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-11:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-11:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-11:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-11:SETSP1ON") + field(INPB, "SR03A-VA-IONP-11:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-11:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-11:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-11:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-11:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-11:SETSP2ON") + field(INPB, "SR03A-VA-IONP-11:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-11:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-11:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-11:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-11:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-11:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-11:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-11:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-11:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-11:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-11:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-11") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-11) MPC_A_06_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-11:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-11:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-11:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-11:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-11:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-12 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-12:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-12:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-12:V +# % gui, , readback, Current, SR03A-VA-IONP-12:I +# % gui, , readback, Strapping, SR03A-VA-IONP-12:HV +# % gui, , enum, Start, SR03A-VA-IONP-12:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-12:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-12:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-12:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-12:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-12:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-12:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-12:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-12:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-12:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-12:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-12:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-12:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-12:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-12:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-12:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-12:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-12:P.ADEL") + field(INPA, "SR03A-VA-IONP-12:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-12:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-12:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-12:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-12:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-12:STA +record(mbbi, "SR03A-VA-IONP-12:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-12:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-12:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-12:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-12:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-12:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-12:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-12:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-12:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-12:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-12:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-12:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_05_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-12:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-12:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_05_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-12:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_05_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-12:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-12:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-12:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-12:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-12:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-12:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-12:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-12:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-12:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-12:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-12:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-12:SP1OFF") + field(DOL4, "SR03A-VA-IONP-12:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-12:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-12:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-12:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-12:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-12:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-12:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-12:SP2OFF") + field(DOL4, "SR03A-VA-IONP-12:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-12:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-12:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-12,2) MPC_A_05_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-12:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-12:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP1ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP1OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-12:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-12:SETSP1ON") + field(INPB, "SR03A-VA-IONP-12:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-12:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-12:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-12:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP2ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP2OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-12:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-12:SETSP2ON") + field(INPB, "SR03A-VA-IONP-12:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-12:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-12:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-12:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-12:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-12:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-12:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-12:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-12:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-12:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-12:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-12") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-12) MPC_A_05_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-12:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-12:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-12:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-12:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-12:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-13 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-13:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-13:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-13:V +# % gui, , readback, Current, SR03A-VA-IONP-13:I +# % gui, , readback, Strapping, SR03A-VA-IONP-13:HV +# % gui, , enum, Start, SR03A-VA-IONP-13:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-13:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-13:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-13:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-13:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-13:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-13:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-13:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-13:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-13:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-13:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-13:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-13:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-13:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-13:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-13:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-13:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-13:P.ADEL") + field(INPA, "SR03A-VA-IONP-13:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-13:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-13:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-13:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-13:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-13:STA +record(mbbi, "SR03A-VA-IONP-13:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-13:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-13:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-13:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-13:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-13:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-13:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-13:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-13:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-13:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-13:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-13:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_07_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-13:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-13:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_07_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-13:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_07_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-13:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-13:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-13:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-13:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-13:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-13:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-13:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-13:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-13:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-13:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-13:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-13:SP1OFF") + field(DOL4, "SR03A-VA-IONP-13:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-13:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-13:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-13:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-13:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-13:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-13:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-13:SP2OFF") + field(DOL4, "SR03A-VA-IONP-13:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-13:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-13:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-13,2) MPC_A_07_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-13:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-13:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-13:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-13:SETSP1ON") + field(INPB, "SR03A-VA-IONP-13:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-13:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-13:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-13:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-13:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-13:SETSP2ON") + field(INPB, "SR03A-VA-IONP-13:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-13:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-13:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-13:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-13:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-13:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-13:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-13:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-13:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-13:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-13:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-13") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-13) MPC_A_07_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-13:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-13:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-13:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-13:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-13:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-14 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-14:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-14:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-14:V +# % gui, , readback, Current, SR03A-VA-IONP-14:I +# % gui, , readback, Strapping, SR03A-VA-IONP-14:HV +# % gui, , enum, Start, SR03A-VA-IONP-14:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-14:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-14:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-14:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-14:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-14:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-14:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-14:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-14:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-14:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-14:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-14:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-14:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-14:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-14:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-14:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-14:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-14:P.ADEL") + field(INPA, "SR03A-VA-IONP-14:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-14:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-14:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-14:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-14:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-14:STA +record(mbbi, "SR03A-VA-IONP-14:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-14:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-14:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-14:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-14:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-14:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-14:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-14:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-14:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-14:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-14:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-14:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_07_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-14:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-14:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_07_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-14:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_07_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-14:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-14:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-14:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-14:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-14:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-14:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-14:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-14:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-14:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-14:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-14:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-14:SP1OFF") + field(DOL4, "SR03A-VA-IONP-14:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-14:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-14:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-14:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-14:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-14:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-14:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-14:SP2OFF") + field(DOL4, "SR03A-VA-IONP-14:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-14:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-14:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-14,2) MPC_A_07_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-14:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-14:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-14:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-14:SETSP1ON") + field(INPB, "SR03A-VA-IONP-14:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-14:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-14:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-14:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-14:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-14:SETSP2ON") + field(INPB, "SR03A-VA-IONP-14:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-14:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-14:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-14:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-14:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-14:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-14:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-14:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-14:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-14:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-14:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-14") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-14) MPC_A_07_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-14:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-14:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-14:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-14:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-14:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-15 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-15:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-15:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-15:V +# % gui, , readback, Current, SR03A-VA-IONP-15:I +# % gui, , readback, Strapping, SR03A-VA-IONP-15:HV +# % gui, , enum, Start, SR03A-VA-IONP-15:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-15:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-15:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-15:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-15:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-15:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-15:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-15:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-15:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-15:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-15:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-15:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-15:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-15:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-15:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-15:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-15:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-15:P.ADEL") + field(INPA, "SR03A-VA-IONP-15:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-15:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-15:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-15:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-15:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-15:STA +record(mbbi, "SR03A-VA-IONP-15:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-15:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-15:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-15:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-15:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-15:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-15:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-15:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-15:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-15:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-15:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-15:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_08_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-15:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-15:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_08_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-15:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_08_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-15:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-15:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-15:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-15:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-15:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-15:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-15:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-15:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-15:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-15:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-15:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-15:SP1OFF") + field(DOL4, "SR03A-VA-IONP-15:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-15:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-15:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-15:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-15:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-15:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-15:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-15:SP2OFF") + field(DOL4, "SR03A-VA-IONP-15:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-15:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-15:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-15,2) MPC_A_08_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-15:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-15:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP1ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP1OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-15:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-15:SETSP1ON") + field(INPB, "SR03A-VA-IONP-15:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-15:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-15:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-15:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP2ON") + { + field(VAL, "1.0E-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP2OFF") + { + field(VAL, "1.0E-4") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-15:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-15:SETSP2ON") + field(INPB, "SR03A-VA-IONP-15:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-15:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-15:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-15:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-15:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-15:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-15:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-15:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-15:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-15:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-15:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-15") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-15) MPC_A_08_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-15:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-15:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-15:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-15:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-15:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-16 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-16:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-16:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-16:V +# % gui, , readback, Current, SR03A-VA-IONP-16:I +# % gui, , readback, Strapping, SR03A-VA-IONP-16:HV +# % gui, , enum, Start, SR03A-VA-IONP-16:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-16:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-16:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-16:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-16:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-16:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-16:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-16:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-16:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-16:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-16:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-16:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-16:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-16:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-16:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-16:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-16:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-16:P.ADEL") + field(INPA, "SR03A-VA-IONP-16:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-16:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-16:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-16:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-16:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-16:STA +record(mbbi, "SR03A-VA-IONP-16:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-16:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-16:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-16:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-16:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-16:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-16:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-16:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-16:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-16:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-16:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-16:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_08_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-16:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-16:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_08_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-16:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_08_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-16:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-16:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-16:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-16:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-16:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-16:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-16:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-16:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-16:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-16:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-16:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-16:SP1OFF") + field(DOL4, "SR03A-VA-IONP-16:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-16:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-16:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-16:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-16:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-16:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-16:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-16:SP2OFF") + field(DOL4, "SR03A-VA-IONP-16:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-16:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-16:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-16,2) MPC_A_08_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-16:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-16:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP1ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP1OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-16:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-16:SETSP1ON") + field(INPB, "SR03A-VA-IONP-16:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-16:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-16:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-16:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP2ON") + { + field(VAL, "1.0E-8") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP2OFF") + { + field(VAL, "2.0E-8") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-16:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-16:SETSP2ON") + field(INPB, "SR03A-VA-IONP-16:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-16:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-16:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-16:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-16:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-16:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-16:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-16:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-16:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-16:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-16:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-16") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-16) MPC_A_08_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-16:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-16:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-16:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-16:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-16:COMMS PP MS") + } + +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V1, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-01, DIRILK1= +# % gui, V1, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-01, DIRILK1=, box-label=SR03A-VA-VALVE-01 +# +# This associates BOY screens with the template +# % gui, V1, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, valvetype=valve +# % gui, V1, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, name=V1, valvetype=valve +# % gui, V1, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, name=V1, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-01:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveCtrl.vdb", valveCtrl) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-01:CALCCON +record(mbbo, "SR03A-VA-VALVE-01:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-01:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-01:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-01:CON PP") + field(LNK2, "SR03A-VA-VALVE-01:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-01:CALCCON +record(bi, "SR03A-VA-VALVE-01:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-01:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-01:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-01:CALCCON") { + field(INPB, "SR03A-VA-VALVE-01:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-01:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-01:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[1] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-01:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-01:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-01:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-01:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-01:DONECALC") { + field(INPA, "SR03A-VA-VALVE-01:CON MS") + field(INPB, "SR03A-VA-VALVE-01:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-01:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-01:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-01:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-01:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-01:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V1, sevr +record(mbbi, "SR03A-VA-VALVE-01:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-01:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-01:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[1]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-01:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[1] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-01:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-01:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-01:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-01:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[1]") +} + +record(busy, "SR03A-VA-VALVE-01:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-01:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-01:STA CP") +} + +# end(valveCtrl) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-01:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-01:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-01:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-01:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-01:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-01:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-01:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-01:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-01:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-01:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-01:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-01:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-01:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-01:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-01:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-01:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-01:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-01:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-01:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-01:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-01:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-01:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk2) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-01:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-01:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-01:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-01:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-01:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk2) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveGilk.vdb", valveGilk) + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-01:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-01:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-01:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-01:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-01:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-01:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-01:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-01:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-01:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK15.ONAM") +} + +# end(valveGilk) + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-01:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-01:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[1] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-01:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[1] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-01:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[1]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-01:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-01:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-01:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-01:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-01:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[1]") +} + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-01:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[1]") + field(ADEL, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V2, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-02, DIRILK1= +# % gui, V2, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-02, DIRILK1=, box-label=SR03A-VA-VALVE-02 +# +# This associates BOY screens with the template +# % gui, V2, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, valvetype=valve +# % gui, V2, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, name=V2, valvetype=valve +# % gui, V2, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, name=V2, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-02:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveCtrl.vdb", valveCtrl) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-02:CALCCON +record(mbbo, "SR03A-VA-VALVE-02:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-02:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-02:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-02:CON PP") + field(LNK2, "SR03A-VA-VALVE-02:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-02:CALCCON +record(bi, "SR03A-VA-VALVE-02:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-02:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-02:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-02:CALCCON") { + field(INPB, "SR03A-VA-VALVE-02:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-02:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-02:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[2] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-02:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-02:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-02:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-02:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-02:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-02:DONECALC") { + field(INPA, "SR03A-VA-VALVE-02:CON MS") + field(INPB, "SR03A-VA-VALVE-02:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-02:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-02:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-02:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-02:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-02:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-02:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V2, sevr +record(mbbi, "SR03A-VA-VALVE-02:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-02:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-02:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[2]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-02:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[2] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-02:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-02:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-02:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-02:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[2]") +} + +record(busy, "SR03A-VA-VALVE-02:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-02:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-02:STA CP") +} + +# end(valveCtrl) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-02:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-02:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-02:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-02:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-02:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-02:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-02:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-02:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-02:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-02:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-02:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-02:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-02:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-02:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-02:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-02:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-02:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-02:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-02:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-02:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-02:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-02:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-02:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk2) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-02:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-02:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-02:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-02:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-02:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk2) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveGilk.vdb", valveGilk) + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-02:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-02:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-02:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-02:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-02:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-02:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-02:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-02:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-02:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-02:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-02:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK15.ONAM") +} + +# end(valveGilk) + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-02:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-02:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-02:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[2] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-02:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[2] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-02:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[2]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-02:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-02:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-02:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-02:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-02:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[2]") +} + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-02:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[2]") + field(ADEL, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V3, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-03, DIRILK1= +# % gui, V3, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-03, DIRILK1=, box-label=SR03A-VA-VALVE-03 +# +# This associates BOY screens with the template +# % gui, V3, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, valvetype=valve +# % gui, V3, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, name=V3, valvetype=valve +# % gui, V3, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, name=V3, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-03:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveCtrl.vdb", valveCtrl) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-03:CALCCON +record(mbbo, "SR03A-VA-VALVE-03:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-03:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-03:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-03:CON PP") + field(LNK2, "SR03A-VA-VALVE-03:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-03:CALCCON +record(bi, "SR03A-VA-VALVE-03:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-03:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-03:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-03:CALCCON") { + field(INPB, "SR03A-VA-VALVE-03:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-03:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-03:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[3] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-03:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-03:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-03:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-03:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-03:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-03:DONECALC") { + field(INPA, "SR03A-VA-VALVE-03:CON MS") + field(INPB, "SR03A-VA-VALVE-03:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-03:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-03:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-03:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-03:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-03:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-03:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V3, sevr +record(mbbi, "SR03A-VA-VALVE-03:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-03:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-03:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[3]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-03:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[3] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-03:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-03:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-03:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-03:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[3]") +} + +record(busy, "SR03A-VA-VALVE-03:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-03:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-03:STA CP") +} + +# end(valveCtrl) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-03:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-03:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-03:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-03:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-03:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-03:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-03:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-03:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-03:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-03:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-03:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-03:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-03:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-03:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-03:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-03:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-03:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-03:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-03:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-03:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-03:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-03:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-03:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk2) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-03:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-03:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-03:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-03:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-03:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk2) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveGilk.vdb", valveGilk) + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-03:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-03:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-03:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-03:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-03:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-03:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-03:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-03:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-03:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-03:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-03:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK15.ONAM") +} + +# end(valveGilk) + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-03:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-03:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-03:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[3] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-03:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[3] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-03:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[3]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-03:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-03:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-03:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-03:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-03:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[3]") +} + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-03:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[3]") + field(ADEL, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V4, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-04, DIRILK1= +# % gui, V4, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-04, DIRILK1=, box-label=SR03A-VA-VALVE-04 +# +# This associates BOY screens with the template +# % gui, V4, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, valvetype=valve +# % gui, V4, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, name=V4, valvetype=valve +# % gui, V4, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, name=V4, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-04:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveCtrl.vdb", valveCtrl) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-04:CALCCON +record(mbbo, "SR03A-VA-VALVE-04:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-04:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-04:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-04:CON PP") + field(LNK2, "SR03A-VA-VALVE-04:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-04:CALCCON +record(bi, "SR03A-VA-VALVE-04:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-04:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-04:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-04:CALCCON") { + field(INPB, "SR03A-VA-VALVE-04:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-04:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-04:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[4] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-04:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-04:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-04:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-04:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-04:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-04:DONECALC") { + field(INPA, "SR03A-VA-VALVE-04:CON MS") + field(INPB, "SR03A-VA-VALVE-04:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-04:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-04:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-04:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-04:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-04:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-04:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V4, sevr +record(mbbi, "SR03A-VA-VALVE-04:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-04:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-04:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[4]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-04:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[4] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-04:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-04:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-04:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-04:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[4]") +} + +record(busy, "SR03A-VA-VALVE-04:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-04:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-04:STA CP") +} + +# end(valveCtrl) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-04:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-04:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-04:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-04:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-04:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-04:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-04:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-04:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-04:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-04:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-04:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-04:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-04:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-04:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-04:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-04:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-04:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-04:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-04:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-04:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-04:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-04:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-04:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveIlk.vdb", valveIlk2) + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-04:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-04:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-04:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-04:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-04:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# end(valveIlk2) + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_valveGilk.vdb", valveGilk) + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-04:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-04:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-04:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-04:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-04:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-04:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-04:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-04:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-04:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-04:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-04:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK15.ONAM") +} + +# end(valveGilk) + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-04:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-04:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-04:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[4] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-04:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[4] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-04:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[4]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-04:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-04:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-04:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-04:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-04:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[4]") +} + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-04:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[4]") + field(ADEL, "0.1") + field(PREC, "1") +} +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03S-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03S-VA-RGA-01, desc=SR03S-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03S-VA-RGA-01, desc=SR03S-VA-RGA-01, name= +# % gui, , readback, Status, SR03S-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03S-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03S-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03S-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03S-VA-RGA-01:FILSTA PP") + field(INPC, "SR03S-VA-RGA-01:SEV MS") +} +record(calc, "SR03S-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03S-VA-RGA-01:SEV.VAL") + field(INPB, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03S-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(1) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03S-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03S-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(1) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03S-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03S-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(FLNK, "SR03S-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DISPJ1") +} +record(calc, "SR03S-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ2") +} +record(calc, "SR03S-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ3") +} +record(calc, "SR03S-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ4") +} +record(calc, "SR03S-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ5") +} +record(calc, "SR03S-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ6") +} +record(calc, "SR03S-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ7") +} +record(calc, "SR03S-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ8") +} +record(calc, "SR03S-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ9") +} +record(calc, "SR03S-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ10") +} +record(calc, "SR03S-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ11") +} +record(calc, "SR03S-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ12") +} +record(calc, "SR03S-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03S-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03S-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(1) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03S-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(1) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03S-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(1) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03S-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03S-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03S-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(1) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03S-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03S-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(1) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03S-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03S-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(1) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03S-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03S-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03S-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(longin, "SR03S-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03S-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03S-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03S-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03S-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03S-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03S-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03S-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03S-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03S-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03S-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03S-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03S-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03S-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03S-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03S-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03S-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03S-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03S-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03S-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03S-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03A-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03A-VA-RGA-01, desc=SR03A-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03A-VA-RGA-01, desc=SR03A-VA-RGA-01, name= +# % gui, , readback, Status, SR03A-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03A-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03A-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03A-VA-RGA-01:FILSTA PP") + field(INPC, "SR03A-VA-RGA-01:SEV MS") +} +record(calc, "SR03A-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-01:SEV.VAL") + field(INPB, "SR03A-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03A-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(2) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03A-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03A-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(2) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03A-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(FLNK, "SR03A-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DISPJ1") +} +record(calc, "SR03A-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ2") +} +record(calc, "SR03A-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ3") +} +record(calc, "SR03A-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ4") +} +record(calc, "SR03A-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ5") +} +record(calc, "SR03A-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ6") +} +record(calc, "SR03A-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ7") +} +record(calc, "SR03A-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ8") +} +record(calc, "SR03A-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ9") +} +record(calc, "SR03A-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ10") +} +record(calc, "SR03A-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ11") +} +record(calc, "SR03A-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ12") +} +record(calc, "SR03A-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03A-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03A-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(2) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03A-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(2) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03A-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(2) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03A-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03A-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03A-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(2) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03A-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03A-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(2) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03A-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(2) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03A-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03A-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03A-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(longin, "SR03A-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03A-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03A-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03A-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03A-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03A-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03A-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03A-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03A-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03A-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03A-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03A-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03A-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03A-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03A-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03A-VA-RGA-02 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03A-VA-RGA-02, desc=SR03A-VA-RGA-02, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03A-VA-RGA-02, desc=SR03A-VA-RGA-02, name= +# % gui, , readback, Status, SR03A-VA-RGA-02:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03A-VA-RGA-02:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03A-VA-RGA-02:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-02:HEADSTA PP") + field(INPB, "SR03A-VA-RGA-02:FILSTA PP") + field(INPC, "SR03A-VA-RGA-02:SEV MS") +} +record(calc, "SR03A-VA-RGA-02:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-02:SEV.VAL") + field(INPB, "SR03A-VA-RGA-02:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03A-VA-RGA-02:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(3) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03A-VA-RGA-02:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03A-VA-RGA-02:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(3) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-02:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03A-VA-RGA-02:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(FLNK, "SR03A-VA-RGA-02:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DISPJ1") +} +record(calc, "SR03A-VA-RGA-02:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN1.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ2") +} +record(calc, "SR03A-VA-RGA-02:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN2.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ3") +} +record(calc, "SR03A-VA-RGA-02:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN3.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ4") +} +record(calc, "SR03A-VA-RGA-02:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN4.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ5") +} +record(calc, "SR03A-VA-RGA-02:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN5.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ6") +} +record(calc, "SR03A-VA-RGA-02:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN6.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ7") +} +record(calc, "SR03A-VA-RGA-02:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN7.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ8") +} +record(calc, "SR03A-VA-RGA-02:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN8.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ9") +} +record(calc, "SR03A-VA-RGA-02:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN9.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ10") +} +record(calc, "SR03A-VA-RGA-02:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN10.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ11") +} +record(calc, "SR03A-VA-RGA-02:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN11.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ12") +} +record(calc, "SR03A-VA-RGA-02:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03A-VA-RGA-02:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03A-VA-RGA-02:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(3) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03A-VA-RGA-02:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(3) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03A-VA-RGA-02:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(3) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03A-VA-RGA-02:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03A-VA-RGA-02:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03A-VA-RGA-02:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(3) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03A-VA-RGA-02:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03A-VA-RGA-02:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(3) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03A-VA-RGA-02:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-02:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(3) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03A-VA-RGA-02:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03A-VA-RGA-02:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03A-VA-RGA-02:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(longin, "SR03A-VA-RGA-02:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03A-VA-RGA-02:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03A-VA-RGA-02:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-02:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-02:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03A-VA-RGA-02:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03A-VA-RGA-02:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-02:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-02:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:TOTP.ADEL") + field(INPA, "SR03A-VA-RGA-02:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03A-VA-RGA-02:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-02:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-02:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:SUMP.ADEL") + field(INPA, "SR03A-VA-RGA-02:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03A-VA-RGA-02:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M2.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M4.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M14.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M15.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M16.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M18.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M28.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M32.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M40.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M44.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M69.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03A-VA-RGA-02:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03A-VA-RGA-02:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03A-VA-RGA-02:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03A-VA-RGA-02:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03A-VA-RGA-02:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03A-VA-RGA-02:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=FE03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=FE03I-VA-RGA-01, desc=FE03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=FE03I-VA-RGA-01, desc=FE03I-VA-RGA-01, name= +# % gui, , readback, Status, FE03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "FE03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "FE03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "FE03I-VA-RGA-01:HEADSTA PP") + field(INPB, "FE03I-VA-RGA-01:FILSTA PP") + field(INPC, "FE03I-VA-RGA-01:SEV MS") +} +record(calc, "FE03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "FE03I-VA-RGA-01:SEV.VAL") + field(INPB, "FE03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "FE03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(4) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "FE03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "FE03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(4) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "FE03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "FE03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(FLNK, "FE03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DISPJ1") +} +record(calc, "FE03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ2") +} +record(calc, "FE03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ3") +} +record(calc, "FE03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ4") +} +record(calc, "FE03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ5") +} +record(calc, "FE03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ6") +} +record(calc, "FE03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ7") +} +record(calc, "FE03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ8") +} +record(calc, "FE03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ9") +} +record(calc, "FE03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ10") +} +record(calc, "FE03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ11") +} +record(calc, "FE03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ12") +} +record(calc, "FE03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"FE03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "FE03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(4) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "FE03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(4) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "FE03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(4) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "FE03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"FE03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "FE03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(4) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"FE03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "FE03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(4) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"FE03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "FE03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(4) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "FE03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "FE03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "FE03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(longin, "FE03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "FE03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "FE03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(stringin, "FE03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(stringin, "FE03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "FE03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "FE03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "FE03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "FE03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "FE03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "FE03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "FE03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "FE03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "FE03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "FE03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "FE03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "FE03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "FE03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "FE03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "FE03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "FE03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=BL03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=BL03I-VA-RGA-01, desc=BL03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=BL03I-VA-RGA-01, desc=BL03I-VA-RGA-01, name= +# % gui, , readback, Status, BL03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "BL03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "BL03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "BL03I-VA-RGA-01:HEADSTA PP") + field(INPB, "BL03I-VA-RGA-01:FILSTA PP") + field(INPC, "BL03I-VA-RGA-01:SEV MS") +} +record(calc, "BL03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "BL03I-VA-RGA-01:SEV.VAL") + field(INPB, "BL03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "BL03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(5) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "BL03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "BL03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(5) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "BL03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "BL03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(FLNK, "BL03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DISPJ1") +} +record(calc, "BL03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ2") +} +record(calc, "BL03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ3") +} +record(calc, "BL03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ4") +} +record(calc, "BL03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ5") +} +record(calc, "BL03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ6") +} +record(calc, "BL03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ7") +} +record(calc, "BL03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ8") +} +record(calc, "BL03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ9") +} +record(calc, "BL03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ10") +} +record(calc, "BL03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ11") +} +record(calc, "BL03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ12") +} +record(calc, "BL03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"BL03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "BL03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(5) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "BL03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(5) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "BL03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(5) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "BL03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"BL03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "BL03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(5) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"BL03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "BL03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(5) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"BL03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "BL03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(5) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "BL03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "BL03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "BL03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(longin, "BL03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "BL03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "BL03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(stringin, "BL03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(stringin, "BL03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "BL03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "BL03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "BL03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "BL03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "BL03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "BL03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "BL03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "BL03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "BL03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "BL03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "BL03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "BL03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "BL03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "BL03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "BL03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "BL03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03I-VA-RGA-01, desc=SR03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03I-VA-RGA-01, desc=SR03I-VA-RGA-01, name= +# % gui, , readback, Status, SR03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03I-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03I-VA-RGA-01:FILSTA PP") + field(INPC, "SR03I-VA-RGA-01:SEV MS") +} +record(calc, "SR03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03I-VA-RGA-01:SEV.VAL") + field(INPB, "SR03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(6) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(6) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(FLNK, "SR03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DISPJ1") +} +record(calc, "SR03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ2") +} +record(calc, "SR03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ3") +} +record(calc, "SR03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ4") +} +record(calc, "SR03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ5") +} +record(calc, "SR03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ6") +} +record(calc, "SR03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ7") +} +record(calc, "SR03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ8") +} +record(calc, "SR03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ9") +} +record(calc, "SR03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ10") +} +record(calc, "SR03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ11") +} +record(calc, "SR03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ12") +} +record(calc, "SR03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(6) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(6) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(6) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(6) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(6) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(6) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(longin, "SR03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# space.template +#%, macro, __doc__, Template database for a vacuum space +# Consists of just 1 pump, 1 gauge and 1 valve (or more likely groups of these) +# Pete Owens - 10/6/05 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, ionp, ion pump +#% macro, gauge, combination gauge +#% macro, img, IMG +#% macro, pirg, Pirani gauge +#% macro, valve, Vacuum valve +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, space.edl, device=SR03S-VA-SPACE-01 + +# This associates a BOY screen with the template +# % gui, , boydetail, vacuumSpaceApp_opi/space_detail.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= +# % gui, , boyembed, vacuumSpaceApp_opi/space_embed_box.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= +# % gui, , boyembed, vacuumSpaceApp_opi/space_embed.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= + +# Pressure (maximum value from all spaces) +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-SPACE-01:PLOG") +{ + field(DESC, "log Pressure") + field(SCAN, "1 second") + field(EGU, "log") + field(INP, "SR03S-VA-GGAUG-01:PLOG") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} +# +#% archiver 10 +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-SPACE-01:P") +{ + field(DESC, "Pressure") + field(SCAN, "1 second") + field(EGU, "mbar") + field(INP, "SR03S-VA-GGAUG-01:P") + field(HIGH, "1.0e-7") + field(HSV, "MINOR") +} +################################################################################ +# Status +# B0 Gauge not OK +# B1 Ion Pump not swiched on +# B2 Valve not open +# B3 Pressure +# +#% archiver 10 Monitor +#% controldesk Status smon +# +record(mbbiDirect,"SR03S-VA-SPACE-01:STA") +{ + field(DESC,"Status") + field(SCAN,"1 second") + field(INP, "SR03S-VA-SPACE-01:CALSTA PP MS") +} +record(calc, "SR03S-VA-SPACE-01:CALSTA") +{ + field(DESC, "Calculate Status") + field(CALC, "A|B|C|D") + field(INPA, "SR03S-VA-SPACE-01:IMGSTA PP MS") + field(INPB, "SR03S-VA-SPACE-01:IONPSTA PP MS") + field(INPC, "SR03S-VA-SPACE-01:VALVESTA PP MS") + field(INPD, "SR03S-VA-SPACE-01:PSTA PP MS") +} +record(calc, "SR03S-VA-SPACE-01:IMGSTA") +{ + field(DESC, "IMGs Status") + field(CALC, "(A<2||A=8)?0:1") + field(INPA, "SR03S-VA-GIMG-01:STA") + field(HIGH, "1.5") + field(HSV, "MINOR") +# field(INPA, "SR03S-VA-GIMG-01:STA MS") +# field(HIHI, "1.5") +# field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:IONPSTA") +{ + field(DESC, "Pumps Status") + field(CALC, "(A=4)?0:2") + field(INPA, "SR03S-VA-GIONP-01:STA") + field(HIGH, "0.5") + field(HSV, "MINOR") +# field(INPA, "SR03S-VA-GIONP-01:STA MS") +# field(HIHI, "0.5") +# field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:VALVESTA") +{ + field(DESC, "Valves Status") + field(CALC, "(A=1)?0:4") + field(INPA, "SR03S-VA-GVALV-01:STA MS") + field(HIHI, "3.5") + field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:PSTA") +{ + field(DESC, "Pressure Status") + field(CALC, "(AC?A:(BC?A:(BC?A:(BC?A:(BC?A:(B 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03S-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS") + field(INPC, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPD, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPE, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPH, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03S-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aGaugeGroup.template +#% macro, __doc__, Template database for a group of up to 8 MKS937A +# combination gauges +# Pete Owens - 5/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, gauge1, gauge 1 device name +#% macro, gauge2, gauge 2 device name +#% macro, gauge3, gauge 3 device name +#% macro, gauge4, gauge 4 device name +#% macro, gauge5, gauge 5 device name +#% macro, gauge6, gauge 6 device name +#% macro, gauge7, gauge 7 device name +#% macro, gauge8, gauge 8 device name +#% macro, SELM, Defaults to 1 (High Signal). Set to 0 (Specified) and specify +# SELN in order to specify a particular gauge input to pass to +# the space template +#% macro, SELN, Use this to select which gauge to look at if you set SELM=0 +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(sel, "SR03A-VA-GGAUG-01:SEL") +{ + field(DESC, "Select Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GAUGE-01:SEL MS") + field(INPB, "SR03A-VA-GAUGE-02:SEL MS") + field(INPC, "SR03A-VA-GAUGE-03:SEL MS") + field(INPD, "SR03A-VA-GAUGE-04:SEL MS") + field(INPE, "SR03A-VA-GAUGE-01:SEL MS") + field(INPF, "SR03A-VA-GAUGE-01:SEL MS") + field(INPG, "SR03A-VA-GAUGE-31:SEL MS") + field(INPH, "SR03A-VA-GAUGE-31:SEL MS") +} +record(mbbi, "SR03A-VA-GGAUG-01:GAUGE") +{ + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GGAUG-01:SEL PP") + field(SCAN, "1 second") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GGAUG-01:PLOG") +{ + field(DESC, "log Pressure") + field(SELM, "1") + field(INPA, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPB, "SR03A-VA-GAUGE-02:PLOG MS") + field(INPC, "SR03A-VA-GAUGE-03:PLOG MS") + field(INPD, "SR03A-VA-GAUGE-04:PLOG MS") + field(INPE, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPF, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPG, "SR03A-VA-GAUGE-31:PLOG MS") + field(INPH, "SR03A-VA-GAUGE-31:PLOG MS") + field(EGU, "log") + field(HOPR, "3") + field(LOPR, "-11") + field(ADEL, "0.003") + field(SELN, "0") +} +record(calc, "SR03A-VA-GGAUG-01:P") +{ + field(DESC, "Pressure") + field(EGU, "mbar") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GGAUG-01:PLOG PP MS") + field(SCAN, "1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +################################################################################ +# If any gauges in group have setpoint write inhibit set, then +# set the group status to 'Inhibit' +# In the :NOWRITE bi record, 'Inhibit' => 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03A-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS") + field(INPC, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS") + field(INPD, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS") + field(INPE, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS") + field(INPH, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03A-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03A-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aGaugeGroup.template +#% macro, __doc__, Template database for a group of up to 8 MKS937A +# combination gauges +# Pete Owens - 5/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, gauge1, gauge 1 device name +#% macro, gauge2, gauge 2 device name +#% macro, gauge3, gauge 3 device name +#% macro, gauge4, gauge 4 device name +#% macro, gauge5, gauge 5 device name +#% macro, gauge6, gauge 6 device name +#% macro, gauge7, gauge 7 device name +#% macro, gauge8, gauge 8 device name +#% macro, SELM, Defaults to 1 (High Signal). Set to 0 (Specified) and specify +# SELN in order to specify a particular gauge input to pass to +# the space template +#% macro, SELN, Use this to select which gauge to look at if you set SELM=0 +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(sel, "SR03C-VA-GGAUG-01:SEL") +{ + field(DESC, "Select Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GGAUG-01:SEL MS") + field(INPB, "SR03A-VA-GGAUG-01:SEL MS") + field(INPC, "SR03I-VA-GGAUG-01:SEL MS") + field(INPD, "SR03S-VA-GGAUG-01:SEL MS") + field(INPE, "SR03S-VA-GGAUG-01:SEL MS") + field(INPF, "SR03S-VA-GGAUG-01:SEL MS") + field(INPG, "SR03S-VA-GGAUG-01:SEL MS") + field(INPH, "SR03S-VA-GGAUG-01:SEL MS") +} +record(mbbi, "SR03C-VA-GGAUG-01:GAUGE") +{ + field(DESC, "Active Gauge") + field(INP, "SR03C-VA-GGAUG-01:SEL PP") + field(SCAN, "1 second") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GGAUG-01:PLOG") +{ + field(DESC, "log Pressure") + field(SELM, "1") + field(INPA, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPB, "SR03A-VA-GGAUG-01:PLOG MS") + field(INPC, "SR03I-VA-GGAUG-01:PLOG MS") + field(INPD, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPE, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPF, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPG, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPH, "SR03S-VA-GGAUG-01:PLOG MS") + field(EGU, "log") + field(HOPR, "3") + field(LOPR, "-11") + field(ADEL, "0.003") + field(SELN, "0") +} +record(calc, "SR03C-VA-GGAUG-01:P") +{ + field(DESC, "Pressure") + field(EGU, "mbar") + field(CALC, "10^A") + field(INPA, "SR03C-VA-GGAUG-01:PLOG PP MS") + field(SCAN, "1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +################################################################################ +# If any gauges in group have setpoint write inhibit set, then +# set the group status to 'Inhibit' +# In the :NOWRITE bi record, 'Inhibit' => 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03C-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03A-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPC, "SR03I-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPD, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPE, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPH, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03C-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03C-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03S-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03S-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03S-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03S-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03S-VA-GIMG-01:CCHV") + field(DOL3, "SR03S-VA-GIMG-01:CCHV") + field(DOL4, "SR03S-VA-GIMG-01:CCHV") + field(DOL5, "SR03S-VA-GIMG-01:CCHV") + field(DOL6, "SR03S-VA-GIMG-01:CCHV") + field(DOL7, "SR03S-VA-GIMG-01:CCHV") + field(DOL8, "SR03S-VA-GIMG-01:CCHV") + field(DOL9, "SR03S-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") + field(DLY9, "0") + field(DLYA, "0") + field(LNK1, "SR03S-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03S-VA-IMG-01:CCHV CA") + field(LNK3, "SR03S-VA-IMG-02:CCHV CA") + field(LNK4, "SR03S-VA-IMG-01:CCHV CA") + field(LNK5, "SR03S-VA-IMG-01:CCHV CA") + field(LNK6, "SR03S-VA-IMG-01:CCHV CA") + field(LNK7, "SR03S-VA-IMG-01:CCHV CA") + field(LNK8, "SR03S-VA-IMG-01:CCHV CA") + field(LNK9, "SR03S-VA-IMG-01:CCHV CA") + field(LNKA, "SR03S-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03S-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03S-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:STA MS") + field(INPB, "SR03S-VA-IMG-02:STA MS") + field(INPC, "SR03S-VA-IMG-01:STA MS") + field(INPD, "SR03S-VA-IMG-01:STA MS") + field(INPE, "SR03S-VA-IMG-01:STA MS") + field(INPF, "SR03S-VA-IMG-01:STA MS") + field(INPG, "SR03S-VA-IMG-01:STA MS") + field(INPH, "SR03S-VA-IMG-01:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03S-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:P MS") + field(INPB, "SR03S-VA-IMG-02:P MS") + field(INPC, "SR03S-VA-IMG-01:P MS") + field(INPD, "SR03S-VA-IMG-01:P MS") + field(INPE, "SR03S-VA-IMG-01:P MS") + field(INPF, "SR03S-VA-IMG-01:P MS") + field(INPG, "SR03S-VA-IMG-01:P MS") + field(INPH, "SR03S-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03S-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GIMG-01:P PP MS") + field(FLNK, "SR03S-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03S-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:PMAX") + field(INPB, "SR03S-VA-IMG-02:PMAX") + field(INPC, "SR03S-VA-IMG-01:PMAX") + field(INPD, "SR03S-VA-IMG-01:PMAX") + field(INPE, "SR03S-VA-IMG-01:PMAX") + field(INPF, "SR03S-VA-IMG-01:PMAX") + field(INPG, "SR03S-VA-IMG-01:PMAX") + field(INPH, "SR03S-VA-IMG-01:PMAX") + field(FLNK, "SR03S-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03S-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-IMG-01:PMIN") + field(INPB, "SR03S-VA-IMG-02:PMIN") + field(INPC, "SR03S-VA-IMG-01:PMIN") + field(INPD, "SR03S-VA-IMG-01:PMIN") + field(INPE, "SR03S-VA-IMG-01:PMIN") + field(INPF, "SR03S-VA-IMG-01:PMIN") + field(INPG, "SR03S-VA-IMG-01:PMIN") + field(INPH, "SR03S-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03S-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03S-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:PRO:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:PRO:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:PRO:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:PRO:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPB, "SR03S-VA-IMG-02:PRO:SP MS") + field(INPC, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPD, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPE, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPF, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPG, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPH, "SR03S-VA-IMG-01:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03S-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03S-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03S-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:RLY:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:RLY:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:RLY:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:RLY:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPB, "SR03S-VA-IMG-02:RLY:SP MS") + field(INPC, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPD, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPE, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPF, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPG, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPH, "SR03S-VA-IMG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03S-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPB, "SR03S-VA-IMG-02:RLA:EXISTS") + field(INPC, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPD, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPE, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPF, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPG, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPH, "SR03S-VA-IMG-01:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03S-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03S-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:RLA:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:RLA:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:RLA:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:RLA:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPB, "SR03S-VA-IMG-02:RLA:SP MS") + field(INPC, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPD, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPE, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPF, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPG, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPH, "SR03S-VA-IMG-01:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03A-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03A-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03A-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03A-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03A-VA-GIMG-01:CCHV") + field(DOL3, "SR03A-VA-GIMG-01:CCHV") + field(DOL4, "SR03A-VA-GIMG-01:CCHV") + field(DOL5, "SR03A-VA-GIMG-01:CCHV") + field(DOL6, "SR03A-VA-GIMG-01:CCHV") + field(DOL7, "SR03A-VA-GIMG-01:CCHV") + field(DOL8, "SR03A-VA-GIMG-01:CCHV") + field(DOL9, "SR03A-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") + field(DLY9, "0") + field(DLYA, "0") + field(LNK1, "SR03A-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03A-VA-IMG-01:CCHV CA") + field(LNK3, "SR03A-VA-IMG-02:CCHV CA") + field(LNK4, "SR03A-VA-IMG-03:CCHV CA") + field(LNK5, "SR03A-VA-IMG-04:CCHV CA") + field(LNK6, "SR03A-VA-IMG-01:CCHV CA") + field(LNK7, "SR03A-VA-IMG-01:CCHV CA") + field(LNK8, "SR03A-VA-IMG-31:CCHV CA") + field(LNK9, "SR03A-VA-IMG-31:CCHV CA") + field(LNKA, "SR03A-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03A-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03A-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:STA MS") + field(INPB, "SR03A-VA-IMG-02:STA MS") + field(INPC, "SR03A-VA-IMG-03:STA MS") + field(INPD, "SR03A-VA-IMG-04:STA MS") + field(INPE, "SR03A-VA-IMG-01:STA MS") + field(INPF, "SR03A-VA-IMG-01:STA MS") + field(INPG, "SR03A-VA-IMG-31:STA MS") + field(INPH, "SR03A-VA-IMG-31:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:P MS") + field(INPB, "SR03A-VA-IMG-02:P MS") + field(INPC, "SR03A-VA-IMG-03:P MS") + field(INPD, "SR03A-VA-IMG-04:P MS") + field(INPE, "SR03A-VA-IMG-01:P MS") + field(INPF, "SR03A-VA-IMG-01:P MS") + field(INPG, "SR03A-VA-IMG-31:P MS") + field(INPH, "SR03A-VA-IMG-31:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03A-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GIMG-01:P PP MS") + field(FLNK, "SR03A-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03A-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:PMAX") + field(INPB, "SR03A-VA-IMG-02:PMAX") + field(INPC, "SR03A-VA-IMG-03:PMAX") + field(INPD, "SR03A-VA-IMG-04:PMAX") + field(INPE, "SR03A-VA-IMG-01:PMAX") + field(INPF, "SR03A-VA-IMG-01:PMAX") + field(INPG, "SR03A-VA-IMG-31:PMAX") + field(INPH, "SR03A-VA-IMG-31:PMAX") + field(FLNK, "SR03A-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03A-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-IMG-01:PMIN") + field(INPB, "SR03A-VA-IMG-02:PMIN") + field(INPC, "SR03A-VA-IMG-03:PMIN") + field(INPD, "SR03A-VA-IMG-04:PMIN") + field(INPE, "SR03A-VA-IMG-01:PMIN") + field(INPF, "SR03A-VA-IMG-01:PMIN") + field(INPG, "SR03A-VA-IMG-31:PMIN") + field(INPH, "SR03A-VA-IMG-31:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03A-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03A-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:PRO:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:PRO:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:PRO:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:PRO:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:PRO:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:PRO:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:PRO:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:PRO:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:PRO:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:PRO:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPB, "SR03A-VA-IMG-02:PRO:SP MS") + field(INPC, "SR03A-VA-IMG-03:PRO:SP MS") + field(INPD, "SR03A-VA-IMG-04:PRO:SP MS") + field(INPE, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPF, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPG, "SR03A-VA-IMG-31:PRO:SP MS") + field(INPH, "SR03A-VA-IMG-31:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03A-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03A-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03A-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:RLY:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:RLY:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:RLY:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:RLY:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:RLY:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:RLY:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:RLY:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:RLY:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:RLY:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:RLY:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPB, "SR03A-VA-IMG-02:RLY:SP MS") + field(INPC, "SR03A-VA-IMG-03:RLY:SP MS") + field(INPD, "SR03A-VA-IMG-04:RLY:SP MS") + field(INPE, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPF, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPG, "SR03A-VA-IMG-31:RLY:SP MS") + field(INPH, "SR03A-VA-IMG-31:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03A-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPB, "SR03A-VA-IMG-02:RLA:EXISTS") + field(INPC, "SR03A-VA-IMG-03:RLA:EXISTS") + field(INPD, "SR03A-VA-IMG-04:RLA:EXISTS") + field(INPE, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPF, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPG, "SR03A-VA-IMG-31:RLA:EXISTS") + field(INPH, "SR03A-VA-IMG-31:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03A-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03A-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:RLA:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:RLA:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:RLA:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:RLA:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:RLA:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:RLA:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:RLA:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:RLA:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:RLA:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:RLA:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPB, "SR03A-VA-IMG-02:RLA:SP MS") + field(INPC, "SR03A-VA-IMG-03:RLA:SP MS") + field(INPD, "SR03A-VA-IMG-04:RLA:SP MS") + field(INPE, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPF, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPG, "SR03A-VA-IMG-31:RLA:SP MS") + field(INPH, "SR03A-VA-IMG-31:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03C-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03C-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03C-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03C-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03C-VA-GIMG-01:CCHV") + field(DOL3, "SR03C-VA-GIMG-01:CCHV") + field(DOL4, "SR03C-VA-GIMG-01:CCHV") + field(DOL5, "SR03C-VA-GIMG-01:CCHV") + field(DOL6, "SR03C-VA-GIMG-01:CCHV") + field(DOL7, "SR03C-VA-GIMG-01:CCHV") + field(DOL8, "SR03C-VA-GIMG-01:CCHV") + field(DOL9, "SR03C-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") + field(DLY9, "0") + field(DLYA, "0") + field(LNK1, "SR03C-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK3, "SR03A-VA-GIMG-01:CCHV CA") + field(LNK4, "SR03I-VA-GIMG-01:CCHV CA") + field(LNK5, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK6, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK7, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK8, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK9, "SR03S-VA-GIMG-01:CCHV CA") + field(LNKA, "SR03C-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03C-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:STA MS") + field(INPB, "SR03A-VA-GIMG-01:STA MS") + field(INPC, "SR03I-VA-GIMG-01:STA MS") + field(INPD, "SR03S-VA-GIMG-01:STA MS") + field(INPE, "SR03S-VA-GIMG-01:STA MS") + field(INPF, "SR03S-VA-GIMG-01:STA MS") + field(INPG, "SR03S-VA-GIMG-01:STA MS") + field(INPH, "SR03S-VA-GIMG-01:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:P MS") + field(INPB, "SR03A-VA-GIMG-01:P MS") + field(INPC, "SR03I-VA-GIMG-01:P MS") + field(INPD, "SR03S-VA-GIMG-01:P MS") + field(INPE, "SR03S-VA-GIMG-01:P MS") + field(INPF, "SR03S-VA-GIMG-01:P MS") + field(INPG, "SR03S-VA-GIMG-01:P MS") + field(INPH, "SR03S-VA-GIMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03C-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GIMG-01:P PP MS") + field(FLNK, "SR03C-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03C-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:PMAX") + field(INPB, "SR03A-VA-GIMG-01:PMAX") + field(INPC, "SR03I-VA-GIMG-01:PMAX") + field(INPD, "SR03S-VA-GIMG-01:PMAX") + field(INPE, "SR03S-VA-GIMG-01:PMAX") + field(INPF, "SR03S-VA-GIMG-01:PMAX") + field(INPG, "SR03S-VA-GIMG-01:PMAX") + field(INPH, "SR03S-VA-GIMG-01:PMAX") + field(FLNK, "SR03C-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03C-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-GIMG-01:PMIN") + field(INPB, "SR03A-VA-GIMG-01:PMIN") + field(INPC, "SR03I-VA-GIMG-01:PMIN") + field(INPD, "SR03S-VA-GIMG-01:PMIN") + field(INPE, "SR03S-VA-GIMG-01:PMIN") + field(INPF, "SR03S-VA-GIMG-01:PMIN") + field(INPG, "SR03S-VA-GIMG-01:PMIN") + field(INPH, "SR03S-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03C-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03C-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03C-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:PRO:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:PRO:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:PRO:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:PRO:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:PRO:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:PRO:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPB, "SR03A-VA-GIMG-01:PRO:SP MS") + field(INPC, "SR03I-VA-GIMG-01:PRO:SP MS") + field(INPD, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPE, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPF, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPG, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPH, "SR03S-VA-GIMG-01:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03C-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03C-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03C-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:RLY:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:RLY:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:RLY:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:RLY:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPB, "SR03A-VA-GIMG-01:RLY:SP MS") + field(INPC, "SR03I-VA-GIMG-01:RLY:SP MS") + field(INPD, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPE, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPF, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPG, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPH, "SR03S-VA-GIMG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03C-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPB, "SR03A-VA-GIMG-01:RLA:EXISTS") + field(INPC, "SR03I-VA-GIMG-01:RLA:EXISTS") + field(INPD, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPE, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPF, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPG, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPH, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03C-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03C-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03C-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:RLA:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:RLA:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:RLA:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:RLA:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:RLA:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:RLA:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPB, "SR03A-VA-GIMG-01:RLA:SP MS") + field(INPC, "SR03I-VA-GIMG-01:RLA:SP MS") + field(INPD, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPE, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPF, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPG, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPH, "SR03S-VA-GIMG-01:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03S-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03S-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:STA") + field(INPB, "SR03S-VA-PIRG-02:STA") + field(INPC, "SR03S-VA-PIRG-01:STA") + field(INPD, "SR03S-VA-PIRG-01:STA") + field(INPE, "SR03S-VA-PIRG-01:STA") + field(INPF, "SR03S-VA-PIRG-01:STA") + field(INPG, "SR03S-VA-PIRG-01:STA") + field(INPH, "SR03S-VA-PIRG-01:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03S-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:P MS") + field(INPB, "SR03S-VA-PIRG-02:P MS") + field(INPC, "SR03S-VA-PIRG-01:P MS") + field(INPD, "SR03S-VA-PIRG-01:P MS") + field(INPE, "SR03S-VA-PIRG-01:P MS") + field(INPF, "SR03S-VA-PIRG-01:P MS") + field(INPG, "SR03S-VA-PIRG-01:P MS") + field(INPH, "SR03S-VA-PIRG-01:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03S-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03S-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03S-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK2, "SR03S-VA-PIRG-02:CTL:SETSP CA") + field(LNK3, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK4, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK5, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK6, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK7, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK8, "SR03S-VA-PIRG-01:CTL:SETSP CA") +} +record(mbbo, "SR03S-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03S-VA-PIRG-02:CTL:ENABLE CA") + field(LNK3, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK4, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK5, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK8, "SR03S-VA-PIRG-01:CTL:ENABLE CA") +} +record(sel, "SR03S-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPB, "SR03S-VA-PIRG-02:CTL:SP MS") + field(INPC, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPD, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPE, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPF, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPG, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPH, "SR03S-VA-PIRG-01:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03S-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03S-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK2, "SR03S-VA-PIRG-02:RLY:SETSP CA") + field(LNK3, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-PIRG-01:RLY:SETSP CA") +} +record(mbbo, "SR03S-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03S-VA-PIRG-02:RLY:ENABLE CA") + field(LNK3, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-PIRG-01:RLY:ENABLE CA") +} +record(sel, "SR03S-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPB, "SR03S-VA-PIRG-02:RLY:SP MS") + field(INPC, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPD, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPE, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPF, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPG, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPH, "SR03S-VA-PIRG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03A-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03A-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:STA") + field(INPB, "SR03A-VA-PIRG-02:STA") + field(INPC, "SR03A-VA-PIRG-03:STA") + field(INPD, "SR03A-VA-PIRG-04:STA") + field(INPE, "SR03A-VA-PIRG-01:STA") + field(INPF, "SR03A-VA-PIRG-01:STA") + field(INPG, "SR03A-VA-PIRG-31:STA") + field(INPH, "SR03A-VA-PIRG-31:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:P MS") + field(INPB, "SR03A-VA-PIRG-02:P MS") + field(INPC, "SR03A-VA-PIRG-03:P MS") + field(INPD, "SR03A-VA-PIRG-04:P MS") + field(INPE, "SR03A-VA-PIRG-01:P MS") + field(INPF, "SR03A-VA-PIRG-01:P MS") + field(INPG, "SR03A-VA-PIRG-31:P MS") + field(INPH, "SR03A-VA-PIRG-31:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03A-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03A-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03A-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK2, "SR03A-VA-PIRG-02:CTL:SETSP CA") + field(LNK3, "SR03A-VA-PIRG-03:CTL:SETSP CA") + field(LNK4, "SR03A-VA-PIRG-04:CTL:SETSP CA") + field(LNK5, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK6, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK7, "SR03A-VA-PIRG-31:CTL:SETSP CA") + field(LNK8, "SR03A-VA-PIRG-31:CTL:SETSP CA") +} +record(mbbo, "SR03A-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03A-VA-PIRG-02:CTL:ENABLE CA") + field(LNK3, "SR03A-VA-PIRG-03:CTL:ENABLE CA") + field(LNK4, "SR03A-VA-PIRG-04:CTL:ENABLE CA") + field(LNK5, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03A-VA-PIRG-31:CTL:ENABLE CA") + field(LNK8, "SR03A-VA-PIRG-31:CTL:ENABLE CA") +} +record(sel, "SR03A-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPB, "SR03A-VA-PIRG-02:CTL:SP MS") + field(INPC, "SR03A-VA-PIRG-03:CTL:SP MS") + field(INPD, "SR03A-VA-PIRG-04:CTL:SP MS") + field(INPE, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPF, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPG, "SR03A-VA-PIRG-31:CTL:SP MS") + field(INPH, "SR03A-VA-PIRG-31:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03A-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03A-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-PIRG-02:RLY:SETSP CA") + field(LNK3, "SR03A-VA-PIRG-03:RLY:SETSP CA") + field(LNK4, "SR03A-VA-PIRG-04:RLY:SETSP CA") + field(LNK5, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK6, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK7, "SR03A-VA-PIRG-31:RLY:SETSP CA") + field(LNK8, "SR03A-VA-PIRG-31:RLY:SETSP CA") +} +record(mbbo, "SR03A-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-PIRG-02:RLY:ENABLE CA") + field(LNK3, "SR03A-VA-PIRG-03:RLY:ENABLE CA") + field(LNK4, "SR03A-VA-PIRG-04:RLY:ENABLE CA") + field(LNK5, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03A-VA-PIRG-31:RLY:ENABLE CA") + field(LNK8, "SR03A-VA-PIRG-31:RLY:ENABLE CA") +} +record(sel, "SR03A-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPB, "SR03A-VA-PIRG-02:RLY:SP MS") + field(INPC, "SR03A-VA-PIRG-03:RLY:SP MS") + field(INPD, "SR03A-VA-PIRG-04:RLY:SP MS") + field(INPE, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPF, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPG, "SR03A-VA-PIRG-31:RLY:SP MS") + field(INPH, "SR03A-VA-PIRG-31:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:STA") + field(INPB, "SR03A-VA-GPIRG-01:STA") + field(INPC, "SR03I-VA-GPIRG-01:STA") + field(INPD, "SR03S-VA-GPIRG-01:STA") + field(INPE, "SR03S-VA-GPIRG-01:STA") + field(INPF, "SR03S-VA-GPIRG-01:STA") + field(INPG, "SR03S-VA-GPIRG-01:STA") + field(INPH, "SR03S-VA-GPIRG-01:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:P MS") + field(INPB, "SR03A-VA-GPIRG-01:P MS") + field(INPC, "SR03I-VA-GPIRG-01:P MS") + field(INPD, "SR03S-VA-GPIRG-01:P MS") + field(INPE, "SR03S-VA-GPIRG-01:P MS") + field(INPF, "SR03S-VA-GPIRG-01:P MS") + field(INPG, "SR03S-VA-GPIRG-01:P MS") + field(INPH, "SR03S-VA-GPIRG-01:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03C-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03C-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03C-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03C-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK2, "SR03A-VA-GPIRG-01:CTL:SETSP CA") + field(LNK3, "SR03I-VA-GPIRG-01:CTL:SETSP CA") + field(LNK4, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK5, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK6, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK7, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK8, "SR03S-VA-GPIRG-01:CTL:SETSP CA") +} +record(mbbo, "SR03C-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03C-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03A-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK3, "SR03I-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK4, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK5, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK8, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") +} +record(sel, "SR03C-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPB, "SR03A-VA-GPIRG-01:CTL:SP MS") + field(INPC, "SR03I-VA-GPIRG-01:CTL:SP MS") + field(INPD, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPE, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPF, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPG, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPH, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03C-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03C-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03C-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-GPIRG-01:RLY:SETSP CA") + field(LNK3, "SR03I-VA-GPIRG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-GPIRG-01:RLY:SETSP CA") +} +record(mbbo, "SR03C-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK3, "SR03I-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") +} +record(sel, "SR03C-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPB, "SR03A-VA-GPIRG-01:RLY:SP MS") + field(INPC, "SR03I-VA-GPIRG-01:RLY:SP MS") + field(INPD, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPE, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPF, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPG, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPH, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) +################################################################################ +# Control +# +record(mbbo, "SR03S-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03S-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03S-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03S-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03S-VA-GVALV-01:CON") +} + +record(seq, "SR03S-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03S-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03S-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03S-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03S-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03S-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03S-VA-GVALV-01:CON") + field(DOL3, "SR03S-VA-GVALV-01:CON") + field(DOL4, "SR03S-VA-GVALV-01:CON") + field(DOL5, "SR03S-VA-GVALV-01:CON") + field(DOL6, "SR03S-VA-GVALV-01:CON") + field(DOL7, "SR03S-VA-GVALV-01:CON") + field(DOL8, "SR03S-VA-GVALV-01:CON") + field(DOL9, "SR03S-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") + field(DLY9, "0") + field(DLYA, "0") + field(LNK1, "SR03S-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") + field(LNK9, "SR03A-VA-VALVE-01:CON CA") + field(LNKA, "SR03S-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03S-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-VALVE-01:CON CA") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") +} + +record(seq, "SR03S-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-VALVE-01:CON CA") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") +} + +record(mbbi, "SR03S-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-VALVE-01:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03S-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03S-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03S-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPB, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPD, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPE, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPF, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPG, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPH, "SR03A-VA-VALVE-01:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03S-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03S-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03S-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03S-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03S-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:STA MS") + field(INPB, "SR03A-VA-VALVE-01:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-01:STA MS") + field(INPE, "SR03A-VA-VALVE-01:STA MS") + field(INPF, "SR03A-VA-VALVE-01:STA MS") + field(INPG, "SR03A-VA-VALVE-01:STA MS") + field(INPH, "SR03A-VA-VALVE-01:STA MS") +} + +record(sel, "SR03S-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:STA MS") + field(INPB, "SR03A-VA-VALVE-01:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-01:STA MS") + field(INPE, "SR03A-VA-VALVE-01:STA MS") + field(INPF, "SR03A-VA-VALVE-01:STA MS") + field(INPG, "SR03A-VA-VALVE-01:STA MS") + field(INPH, "SR03A-VA-VALVE-01:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03S-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03S-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03S-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:OPS MS") + field(INPB, "SR03A-VA-VALVE-01:OPS MS") + field(INPC, "SR03A-VA-VALVE-01:OPS MS") + field(INPD, "SR03A-VA-VALVE-01:OPS MS") + field(INPE, "SR03A-VA-VALVE-01:OPS MS") + field(INPF, "SR03A-VA-VALVE-01:OPS MS") + field(INPG, "SR03A-VA-VALVE-01:OPS MS") + field(INPH, "SR03A-VA-VALVE-01:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03S-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03S-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03S-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:MODE MS") + field(INPB, "SR03A-VA-VALVE-01:MODE MS") + field(INPC, "SR03A-VA-VALVE-01:MODE MS") + field(INPD, "SR03A-VA-VALVE-01:MODE MS") + field(INPE, "SR03A-VA-VALVE-01:MODE MS") + field(INPF, "SR03A-VA-VALVE-01:MODE MS") + field(INPG, "SR03A-VA-VALVE-01:MODE MS") + field(INPH, "SR03A-VA-VALVE-01:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03S-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03S-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03S-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPB, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPC, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPE, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPF, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPG, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPH, "SR03A-VA-VALVE-01:RAWAIRSTA MS") +} + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03S-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03S-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03S-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03S-VA-GVALV-01:SETADB") + field(DOL2, "SR03S-VA-GVALV-01:SETADB") + field(DOL3, "SR03S-VA-GVALV-01:SETADB") + field(DOL4, "SR03S-VA-GVALV-01:SETADB") + field(DOL5, "SR03S-VA-GVALV-01:SETADB") + field(DOL6, "SR03S-VA-GVALV-01:SETADB") + field(DOL7, "SR03S-VA-GVALV-01:SETADB") + field(DOL8, "SR03S-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK2, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK3, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK4, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK5, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK6, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK7, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK8, "SR03A-VA-VALVE-01:SETADB CA") +} + +record(ai, "SR03S-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03S-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03S-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:ADB MS") + field(INPB, "SR03A-VA-VALVE-01:ADB MS") + field(INPC, "SR03A-VA-VALVE-01:ADB MS") + field(INPD, "SR03A-VA-VALVE-01:ADB MS") + field(INPE, "SR03A-VA-VALVE-01:ADB MS") + field(INPF, "SR03A-VA-VALVE-01:ADB MS") + field(INPG, "SR03A-VA-VALVE-01:ADB MS") + field(INPH, "SR03A-VA-VALVE-01:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03S-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03S-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:ILK") + field(INPB, "SR03A-VA-VALVE-01:ILK") + field(INPC, "SR03A-VA-VALVE-01:ILK") + field(INPD, "SR03A-VA-VALVE-01:ILK") + field(INPE, "SR03A-VA-VALVE-01:ILK") + field(INPF, "SR03A-VA-VALVE-01:ILK") + field(INPG, "SR03A-VA-VALVE-01:ILK") + field(INPH, "SR03A-VA-VALVE-01:ILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:INIILK") + field(INPB, "SR03A-VA-VALVE-01:INIILK") + field(INPC, "SR03A-VA-VALVE-01:INIILK") + field(INPD, "SR03A-VA-VALVE-01:INIILK") + field(INPE, "SR03A-VA-VALVE-01:INIILK") + field(INPF, "SR03A-VA-VALVE-01:INIILK") + field(INPG, "SR03A-VA-VALVE-01:INIILK") + field(INPH, "SR03A-VA-VALVE-01:INIILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:RAWILK") + field(INPB, "SR03A-VA-VALVE-01:RAWILK") + field(INPC, "SR03A-VA-VALVE-01:RAWILK") + field(INPD, "SR03A-VA-VALVE-01:RAWILK") + field(INPE, "SR03A-VA-VALVE-01:RAWILK") + field(INPF, "SR03A-VA-VALVE-01:RAWILK") + field(INPG, "SR03A-VA-VALVE-01:RAWILK") + field(INPH, "SR03A-VA-VALVE-01:RAWILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:GILK") + field(INPB, "SR03A-VA-VALVE-01:GILK") + field(INPC, "SR03A-VA-VALVE-01:GILK") + field(INPD, "SR03A-VA-VALVE-01:GILK") + field(INPE, "SR03A-VA-VALVE-01:GILK") + field(INPF, "SR03A-VA-VALVE-01:GILK") + field(INPG, "SR03A-VA-VALVE-01:GILK") + field(INPH, "SR03A-VA-VALVE-01:GILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:IMGILK") + field(INPB, "SR03A-VA-VALVE-01:IMGILK") + field(INPC, "SR03A-VA-VALVE-01:IMGILK") + field(INPD, "SR03A-VA-VALVE-01:IMGILK") + field(INPE, "SR03A-VA-VALVE-01:IMGILK") + field(INPF, "SR03A-VA-VALVE-01:IMGILK") + field(INPG, "SR03A-VA-VALVE-01:IMGILK") + field(INPH, "SR03A-VA-VALVE-01:IMGILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:PIRGILK") + field(INPB, "SR03A-VA-VALVE-01:PIRGILK") + field(INPC, "SR03A-VA-VALVE-01:PIRGILK") + field(INPD, "SR03A-VA-VALVE-01:PIRGILK") + field(INPE, "SR03A-VA-VALVE-01:PIRGILK") + field(INPF, "SR03A-VA-VALVE-01:PIRGILK") + field(INPG, "SR03A-VA-VALVE-01:PIRGILK") + field(INPH, "SR03A-VA-VALVE-01:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03S-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03S-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03S-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03S-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03S-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03S-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03S-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03S-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03S-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03S-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03S-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03S-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03S-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03S-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03S-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03S-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03S-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03S-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03S-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03S-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03S-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03S-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03S-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03S-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03S-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03S-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03S-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03S-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03S-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03S-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03S-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03S-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03S-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03S-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03S-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03S-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03S-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03S-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03S-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03S-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03S-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03S-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03S-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03S-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03S-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03S-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03S-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03S-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03S-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03S-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) +################################################################################ +# Control +# +record(mbbo, "SR03A-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03A-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03A-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03A-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03A-VA-GVALV-01:CON") +} + +record(seq, "SR03A-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03A-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03A-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03A-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03A-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03A-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03A-VA-GVALV-01:CON") + field(DOL3, "SR03A-VA-GVALV-01:CON") + field(DOL4, "SR03A-VA-GVALV-01:CON") + field(DOL5, "SR03A-VA-GVALV-01:CON") + field(DOL6, "SR03A-VA-GVALV-01:CON") + field(DOL7, "SR03A-VA-GVALV-01:CON") + field(DOL8, "SR03A-VA-GVALV-01:CON") + field(DOL9, "SR03A-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") + field(DLY9, "5") + field(DLYA, "0") + field(LNK1, "SR03A-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-VALVE-02:CON CA") + field(LNK3, "SR03A-VA-VALVE-03:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-04:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") + field(LNK9, "SR03A-VA-VALVE-02:CON CA") + field(LNKA, "SR03A-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03A-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-VALVE-02:CON CA") + field(LNK2, "SR03A-VA-VALVE-03:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-04:CON CA") + field(LNK5, "SR03A-VA-VALVE-02:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") + field(DLY2, "5") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") +} + +record(seq, "SR03A-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-VALVE-02:CON CA") + field(LNK2, "SR03A-VA-VALVE-03:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-04:CON CA") + field(LNK5, "SR03A-VA-VALVE-02:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") +} + +record(mbbi, "SR03A-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-VALVE-02:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03A-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03A-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03A-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPB, "SR03A-VA-VALVE-03:ILKSTA MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPD, "SR03A-VA-VALVE-04:ILKSTA MS") + field(INPE, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPF, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPG, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPH, "SR03A-VA-VALVE-02:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03A-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03A-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03A-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03A-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03A-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:STA MS") + field(INPB, "SR03A-VA-VALVE-03:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-04:STA MS") + field(INPE, "SR03A-VA-VALVE-02:STA MS") + field(INPF, "SR03A-VA-VALVE-02:STA MS") + field(INPG, "SR03A-VA-VALVE-02:STA MS") + field(INPH, "SR03A-VA-VALVE-02:STA MS") +} + +record(sel, "SR03A-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:STA MS") + field(INPB, "SR03A-VA-VALVE-03:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-04:STA MS") + field(INPE, "SR03A-VA-VALVE-02:STA MS") + field(INPF, "SR03A-VA-VALVE-02:STA MS") + field(INPG, "SR03A-VA-VALVE-02:STA MS") + field(INPH, "SR03A-VA-VALVE-02:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03A-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03A-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03A-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:OPS MS") + field(INPB, "SR03A-VA-VALVE-03:OPS MS") + field(INPC, "SR03A-VA-VALVE-01:OPS MS") + field(INPD, "SR03A-VA-VALVE-04:OPS MS") + field(INPE, "SR03A-VA-VALVE-02:OPS MS") + field(INPF, "SR03A-VA-VALVE-02:OPS MS") + field(INPG, "SR03A-VA-VALVE-02:OPS MS") + field(INPH, "SR03A-VA-VALVE-02:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03A-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03A-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:MODE MS") + field(INPB, "SR03A-VA-VALVE-03:MODE MS") + field(INPC, "SR03A-VA-VALVE-01:MODE MS") + field(INPD, "SR03A-VA-VALVE-04:MODE MS") + field(INPE, "SR03A-VA-VALVE-02:MODE MS") + field(INPF, "SR03A-VA-VALVE-02:MODE MS") + field(INPG, "SR03A-VA-VALVE-02:MODE MS") + field(INPH, "SR03A-VA-VALVE-02:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03A-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03A-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03A-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPB, "SR03A-VA-VALVE-03:RAWAIRSTA MS") + field(INPC, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-VALVE-04:RAWAIRSTA MS") + field(INPE, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPF, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPG, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPH, "SR03A-VA-VALVE-02:RAWAIRSTA MS") +} + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03A-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03A-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03A-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03A-VA-GVALV-01:SETADB") + field(DOL2, "SR03A-VA-GVALV-01:SETADB") + field(DOL3, "SR03A-VA-GVALV-01:SETADB") + field(DOL4, "SR03A-VA-GVALV-01:SETADB") + field(DOL5, "SR03A-VA-GVALV-01:SETADB") + field(DOL6, "SR03A-VA-GVALV-01:SETADB") + field(DOL7, "SR03A-VA-GVALV-01:SETADB") + field(DOL8, "SR03A-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK2, "SR03A-VA-VALVE-03:SETADB CA") + field(LNK3, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK4, "SR03A-VA-VALVE-04:SETADB CA") + field(LNK5, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK6, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK7, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK8, "SR03A-VA-VALVE-02:SETADB CA") +} + +record(ai, "SR03A-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03A-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03A-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:ADB MS") + field(INPB, "SR03A-VA-VALVE-03:ADB MS") + field(INPC, "SR03A-VA-VALVE-01:ADB MS") + field(INPD, "SR03A-VA-VALVE-04:ADB MS") + field(INPE, "SR03A-VA-VALVE-02:ADB MS") + field(INPF, "SR03A-VA-VALVE-02:ADB MS") + field(INPG, "SR03A-VA-VALVE-02:ADB MS") + field(INPH, "SR03A-VA-VALVE-02:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03A-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03A-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:ILK") + field(INPB, "SR03A-VA-VALVE-03:ILK") + field(INPC, "SR03A-VA-VALVE-01:ILK") + field(INPD, "SR03A-VA-VALVE-04:ILK") + field(INPE, "SR03A-VA-VALVE-02:ILK") + field(INPF, "SR03A-VA-VALVE-02:ILK") + field(INPG, "SR03A-VA-VALVE-02:ILK") + field(INPH, "SR03A-VA-VALVE-02:ILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:INIILK") + field(INPB, "SR03A-VA-VALVE-03:INIILK") + field(INPC, "SR03A-VA-VALVE-01:INIILK") + field(INPD, "SR03A-VA-VALVE-04:INIILK") + field(INPE, "SR03A-VA-VALVE-02:INIILK") + field(INPF, "SR03A-VA-VALVE-02:INIILK") + field(INPG, "SR03A-VA-VALVE-02:INIILK") + field(INPH, "SR03A-VA-VALVE-02:INIILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:RAWILK") + field(INPB, "SR03A-VA-VALVE-03:RAWILK") + field(INPC, "SR03A-VA-VALVE-01:RAWILK") + field(INPD, "SR03A-VA-VALVE-04:RAWILK") + field(INPE, "SR03A-VA-VALVE-02:RAWILK") + field(INPF, "SR03A-VA-VALVE-02:RAWILK") + field(INPG, "SR03A-VA-VALVE-02:RAWILK") + field(INPH, "SR03A-VA-VALVE-02:RAWILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:GILK") + field(INPB, "SR03A-VA-VALVE-03:GILK") + field(INPC, "SR03A-VA-VALVE-01:GILK") + field(INPD, "SR03A-VA-VALVE-04:GILK") + field(INPE, "SR03A-VA-VALVE-02:GILK") + field(INPF, "SR03A-VA-VALVE-02:GILK") + field(INPG, "SR03A-VA-VALVE-02:GILK") + field(INPH, "SR03A-VA-VALVE-02:GILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:IMGILK") + field(INPB, "SR03A-VA-VALVE-03:IMGILK") + field(INPC, "SR03A-VA-VALVE-01:IMGILK") + field(INPD, "SR03A-VA-VALVE-04:IMGILK") + field(INPE, "SR03A-VA-VALVE-02:IMGILK") + field(INPF, "SR03A-VA-VALVE-02:IMGILK") + field(INPG, "SR03A-VA-VALVE-02:IMGILK") + field(INPH, "SR03A-VA-VALVE-02:IMGILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:PIRGILK") + field(INPB, "SR03A-VA-VALVE-03:PIRGILK") + field(INPC, "SR03A-VA-VALVE-01:PIRGILK") + field(INPD, "SR03A-VA-VALVE-04:PIRGILK") + field(INPE, "SR03A-VA-VALVE-02:PIRGILK") + field(INPF, "SR03A-VA-VALVE-02:PIRGILK") + field(INPG, "SR03A-VA-VALVE-02:PIRGILK") + field(INPH, "SR03A-VA-VALVE-02:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03A-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03A-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03A-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03A-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03A-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03A-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03A-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03A-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03A-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03A-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03A-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03A-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03A-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03A-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03A-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03A-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03A-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03A-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03A-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03A-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03A-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03A-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03A-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03A-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03A-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03A-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03A-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03A-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03A-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03A-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03A-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03A-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03A-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) +################################################################################ +# Control +# +record(mbbo, "SR03C-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03C-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03C-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03C-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03C-VA-GVALV-01:CON") +} + +record(seq, "SR03C-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03C-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03C-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03C-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03C-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03C-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03C-VA-GVALV-01:CON") + field(DOL3, "SR03C-VA-GVALV-01:CON") + field(DOL4, "SR03C-VA-GVALV-01:CON") + field(DOL5, "SR03C-VA-GVALV-01:CON") + field(DOL6, "SR03C-VA-GVALV-01:CON") + field(DOL7, "SR03C-VA-GVALV-01:CON") + field(DOL8, "SR03C-VA-GVALV-01:CON") + field(DOL9, "SR03C-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") + field(DLY9, "5") + field(DLYA, "0") + field(LNK1, "SR03C-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03A-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") + field(LNK9, "SR03S-VA-GVALV-01:CON CA") + field(LNKA, "SR03C-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03C-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-GVALV-01:CON CA") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03S-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") + field(DLY2, "5") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") +} + +record(seq, "SR03C-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-GVALV-01:CON CA") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03S-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") +} + +record(mbbi, "SR03C-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-GVALV-01:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03C-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03C-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03C-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPB, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPC, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPD, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPE, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPF, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPG, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPH, "SR03S-VA-GVALV-01:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03C-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03C-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03C-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03C-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03C-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:STA MS") + field(INPB, "SR03A-VA-GVALV-01:STA MS") + field(INPC, "SR03A-VA-GVALV-01:STA MS") + field(INPD, "SR03A-VA-GVALV-01:STA MS") + field(INPE, "SR03S-VA-GVALV-01:STA MS") + field(INPF, "SR03S-VA-GVALV-01:STA MS") + field(INPG, "SR03S-VA-GVALV-01:STA MS") + field(INPH, "SR03S-VA-GVALV-01:STA MS") +} + +record(sel, "SR03C-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:STA MS") + field(INPB, "SR03A-VA-GVALV-01:STA MS") + field(INPC, "SR03A-VA-GVALV-01:STA MS") + field(INPD, "SR03A-VA-GVALV-01:STA MS") + field(INPE, "SR03S-VA-GVALV-01:STA MS") + field(INPF, "SR03S-VA-GVALV-01:STA MS") + field(INPG, "SR03S-VA-GVALV-01:STA MS") + field(INPH, "SR03S-VA-GVALV-01:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03C-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03C-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03C-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:OPS MS") + field(INPB, "SR03A-VA-GVALV-01:OPS MS") + field(INPC, "SR03A-VA-GVALV-01:OPS MS") + field(INPD, "SR03A-VA-GVALV-01:OPS MS") + field(INPE, "SR03S-VA-GVALV-01:OPS MS") + field(INPF, "SR03S-VA-GVALV-01:OPS MS") + field(INPG, "SR03S-VA-GVALV-01:OPS MS") + field(INPH, "SR03S-VA-GVALV-01:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03C-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03C-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03C-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:MODE MS") + field(INPB, "SR03A-VA-GVALV-01:MODE MS") + field(INPC, "SR03A-VA-GVALV-01:MODE MS") + field(INPD, "SR03A-VA-GVALV-01:MODE MS") + field(INPE, "SR03S-VA-GVALV-01:MODE MS") + field(INPF, "SR03S-VA-GVALV-01:MODE MS") + field(INPG, "SR03S-VA-GVALV-01:MODE MS") + field(INPH, "SR03S-VA-GVALV-01:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03C-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03C-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03C-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPB, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPC, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPE, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPF, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPG, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPH, "SR03S-VA-GVALV-01:RAWAIRSTA MS") +} + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03C-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03C-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03C-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03C-VA-GVALV-01:SETADB") + field(DOL2, "SR03C-VA-GVALV-01:SETADB") + field(DOL3, "SR03C-VA-GVALV-01:SETADB") + field(DOL4, "SR03C-VA-GVALV-01:SETADB") + field(DOL5, "SR03C-VA-GVALV-01:SETADB") + field(DOL6, "SR03C-VA-GVALV-01:SETADB") + field(DOL7, "SR03C-VA-GVALV-01:SETADB") + field(DOL8, "SR03C-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK2, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK3, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK4, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK5, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK6, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK7, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK8, "SR03S-VA-GVALV-01:SETADB CA") +} + +record(ai, "SR03C-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03C-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03C-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:ADB MS") + field(INPB, "SR03A-VA-GVALV-01:ADB MS") + field(INPC, "SR03A-VA-GVALV-01:ADB MS") + field(INPD, "SR03A-VA-GVALV-01:ADB MS") + field(INPE, "SR03S-VA-GVALV-01:ADB MS") + field(INPF, "SR03S-VA-GVALV-01:ADB MS") + field(INPG, "SR03S-VA-GVALV-01:ADB MS") + field(INPH, "SR03S-VA-GVALV-01:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03C-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03C-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:ILK") + field(INPB, "SR03A-VA-GVALV-01:ILK") + field(INPC, "SR03A-VA-GVALV-01:ILK") + field(INPD, "SR03A-VA-GVALV-01:ILK") + field(INPE, "SR03S-VA-GVALV-01:ILK") + field(INPF, "SR03S-VA-GVALV-01:ILK") + field(INPG, "SR03S-VA-GVALV-01:ILK") + field(INPH, "SR03S-VA-GVALV-01:ILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:INIILK") + field(INPB, "SR03A-VA-GVALV-01:INIILK") + field(INPC, "SR03A-VA-GVALV-01:INIILK") + field(INPD, "SR03A-VA-GVALV-01:INIILK") + field(INPE, "SR03S-VA-GVALV-01:INIILK") + field(INPF, "SR03S-VA-GVALV-01:INIILK") + field(INPG, "SR03S-VA-GVALV-01:INIILK") + field(INPH, "SR03S-VA-GVALV-01:INIILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:RAWILK") + field(INPB, "SR03A-VA-GVALV-01:RAWILK") + field(INPC, "SR03A-VA-GVALV-01:RAWILK") + field(INPD, "SR03A-VA-GVALV-01:RAWILK") + field(INPE, "SR03S-VA-GVALV-01:RAWILK") + field(INPF, "SR03S-VA-GVALV-01:RAWILK") + field(INPG, "SR03S-VA-GVALV-01:RAWILK") + field(INPH, "SR03S-VA-GVALV-01:RAWILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:GILK") + field(INPB, "SR03A-VA-GVALV-01:GILK") + field(INPC, "SR03A-VA-GVALV-01:GILK") + field(INPD, "SR03A-VA-GVALV-01:GILK") + field(INPE, "SR03S-VA-GVALV-01:GILK") + field(INPF, "SR03S-VA-GVALV-01:GILK") + field(INPG, "SR03S-VA-GVALV-01:GILK") + field(INPH, "SR03S-VA-GVALV-01:GILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:IMGILK") + field(INPB, "SR03A-VA-GVALV-01:IMGILK") + field(INPC, "SR03A-VA-GVALV-01:IMGILK") + field(INPD, "SR03A-VA-GVALV-01:IMGILK") + field(INPE, "SR03S-VA-GVALV-01:IMGILK") + field(INPF, "SR03S-VA-GVALV-01:IMGILK") + field(INPG, "SR03S-VA-GVALV-01:IMGILK") + field(INPH, "SR03S-VA-GVALV-01:IMGILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:PIRGILK") + field(INPB, "SR03A-VA-GVALV-01:PIRGILK") + field(INPC, "SR03A-VA-GVALV-01:PIRGILK") + field(INPD, "SR03A-VA-GVALV-01:PIRGILK") + field(INPE, "SR03S-VA-GVALV-01:PIRGILK") + field(INPF, "SR03S-VA-GVALV-01:PIRGILK") + field(INPG, "SR03S-VA-GVALV-01:PIRGILK") + field(INPH, "SR03S-VA-GVALV-01:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03C-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03C-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03C-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03C-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03C-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03C-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03C-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03C-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03C-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03C-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03C-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03C-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03C-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03C-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03C-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03C-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03C-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03C-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03C-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03C-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03C-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03C-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03C-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03C-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03C-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03C-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03C-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03C-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03C-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03C-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03C-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03C-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03C-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03C-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03C-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03C-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03C-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03C-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03C-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03C-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03C-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03C-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03C-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03C-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03C-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03C-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03C-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03C-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03C-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03C-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} +# mks937aImgGroup.template +# Template database for a group of up to 8 RGAs +# Pete Owens - 13/5/05 +# +# Date Modification +# +# 24 March 2016 Changed method of determining group status, +# Now handled by aSub record :GRPSTAT. +# +# substitutions: +# device - device name +# rga1-8 - names of RGAs in group +################################################################################ +# Head Connected +# +record(stringin, "SR03C-VA-GRGA-01:HEAD") +{ + field(DESC, "Head") + field(INP, "SR03S-VA-RGA-01:HEAD") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03C-VA-GRGA-01:STA") +{ + field(DESC, "Overall status") +## field(CALC, "((A>4)&&(A<7)&&(B#1))?0:A") + field(CALC, "A") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-GRGA-01:HEADSTA PP") + field(INPB, "SR03C-VA-GRGA-01:FILSTA PP") + field(INPC, "SR03C-VA-GRGA-01:SEV MS") +} +record(calc, "SR03C-VA-GRGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-GRGA-01:SEV.VAL") + field(INPB, "SR03C-VA-GRGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +#% controldesk Head Status smon +record(mbbi, "SR03C-VA-GRGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") +} + +######################################################################## +# GRPSTAT is a new record in Jan 2016 +# to change the RGA group summary status +# in accordance with Vacuum Group request +# (email from Leslie Lea 8 Jan 2016) +# +# White - if all RGAs in the group are showing white. +# Red - if all RGAs in the group are showing red. +# Red - if there is a mixture of white and red RGAs in the group. +# Green - if one or more RGAs in the group are showing green. +######################################################################## +record(aSub, "SR03C-VA-GRGA-01:GRPSTAT") + { + field(SCAN, "1 second") + field(SNAM, "rgaGroupStatusCalc") + field(INAM, "rgaGroupStatusInit") + field(BRSV, "MINOR") + + field(FTA, "SHORT") + field(FTB, "SHORT") + field(FTC, "SHORT") + field(FTD, "SHORT") + field(FTE, "SHORT") + field(FTF, "SHORT") + field(FTG, "SHORT") + field(FTH, "SHORT") + + field(FTI, "SHORT") + field(FTJ, "SHORT") + field(FTK, "SHORT") + field(FTL, "SHORT") + field(FTM, "SHORT") + field(FTN, "SHORT") + field(FTO, "SHORT") + field(FTP, "SHORT") + + field(FTVA, "SHORT") + + field(INPA, "SR03S-VA-RGA-01:STA MS") + field(INPB, "SR03A-VA-RGA-01:STA MS") + field(INPC, "SR03A-VA-RGA-02:STA MS") + field(INPD, "SR03I-VA-RGA-01:STA MS") + field(INPE, "FE03I-VA-RGA-01:STA MS") + field(INPF, "BL03I-VA-RGA-01:STA MS") + field(INPG, "SR03S-VA-RGA-01:STA MS") + field(INPH, "SR03S-VA-RGA-01:STA MS") + + field(INPI, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(INPJ, "SR03A-VA-RGA-01:HEADSTA.SEVR") + field(INPK, "SR03A-VA-RGA-02:HEADSTA.SEVR") + field(INPL, "SR03I-VA-RGA-01:HEADSTA.SEVR") + field(INPM, "FE03I-VA-RGA-01:HEADSTA.SEVR") + field(INPN, "BL03I-VA-RGA-01:HEADSTA.SEVR") + field(INPO, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(INPP, "SR03S-VA-RGA-01:HEADSTA.SEVR") + + # Output fields + field(OUTA, "SR03C-VA-GRGA-01:HEADSTA") + } + +################################################# + + +record(sel, "SR03C-VA-GRGA-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:STA MS") + field(INPB, "SR03A-VA-RGA-01:STA MS") + field(INPC, "SR03A-VA-RGA-02:STA MS") + field(INPD, "SR03I-VA-RGA-01:STA MS") + field(INPE, "FE03I-VA-RGA-01:STA MS") + field(INPF, "BL03I-VA-RGA-01:STA MS") + field(INPG, "SR03S-VA-RGA-01:STA MS") + field(INPH, "SR03S-VA-RGA-01:STA MS") +} +#% controldesk Head Status smon +record(mbbo, "SR03C-VA-GRGA-01:CON") +{ + field(DESC, "Head Status") + field(FLNK, "SR03C-VA-GRGA-01:SEQCON") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") +} +record(seq, "SR03C-VA-GRGA-01:SEQCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:CON") + field(DOL2, "SR03C-VA-GRGA-01:CON") + field(DOL3, "SR03C-VA-GRGA-01:CON") + field(DOL4, "SR03C-VA-GRGA-01:CON") + field(DOL5, "SR03C-VA-GRGA-01:CON") + field(DOL6, "SR03C-VA-GRGA-01:CON") + field(DOL7, "SR03C-VA-GRGA-01:CON") + field(DOL8, "SR03C-VA-GRGA-01:CON") + field(LNK1, "SR03S-VA-RGA-01:CON CA") + field(LNK2, "SR03A-VA-RGA-01:CON CA") + field(LNK3, "SR03A-VA-RGA-02:CON CA") + field(LNK4, "SR03I-VA-RGA-01:CON CA") + field(LNK5, "FE03I-VA-RGA-01:CON CA") + field(LNK6, "BL03I-VA-RGA-01:CON CA") + field(LNK7, "SR03S-VA-RGA-01:CON CA") + field(LNK8, "SR03S-VA-RGA-01:CON CA") +} +################################################################################ +# Disable Barcharts +# +record(bo, "SR03C-VA-GRGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03C-VA-GRGA-01:SEQSEL") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +record(seq, "SR03C-VA-GRGA-01:SEQSEL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SEL") + field(DOL2, "SR03C-VA-GRGA-01:SEL") + field(DOL3, "SR03C-VA-GRGA-01:SEL") + field(DOL4, "SR03C-VA-GRGA-01:SEL") + field(DOL5, "SR03C-VA-GRGA-01:SEL") + field(DOL6, "SR03C-VA-GRGA-01:SEL") + field(DOL7, "SR03C-VA-GRGA-01:SEL") + field(DOL8, "SR03C-VA-GRGA-01:SEL") + field(LNK1, "SR03S-VA-RGA-01:SEL CA") + field(LNK2, "SR03A-VA-RGA-01:SEL CA") + field(LNK3, "SR03A-VA-RGA-02:SEL CA") + field(LNK4, "SR03I-VA-RGA-01:SEL CA") + field(LNK5, "FE03I-VA-RGA-01:SEL CA") + field(LNK6, "BL03I-VA-RGA-01:SEL CA") + field(LNK7, "SR03S-VA-RGA-01:SEL CA") + field(LNK8, "SR03S-VA-RGA-01:SEL CA") +} +record(sel, "SR03C-VA-GRGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:DIS200") + field(INPB, "SR03A-VA-RGA-01:DIS200") + field(INPC, "SR03A-VA-RGA-02:DIS200") + field(INPD, "SR03I-VA-RGA-01:DIS200") + field(INPE, "FE03I-VA-RGA-01:DIS200") + field(INPF, "BL03I-VA-RGA-01:DIS200") + field(INPG, "SR03S-VA-RGA-01:DIS200") + field(INPH, "SR03S-VA-RGA-01:DIS200") +} +record(sel, "SR03C-VA-GRGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:DIS100") + field(INPB, "SR03A-VA-RGA-01:DIS100") + field(INPC, "SR03A-VA-RGA-02:DIS100") + field(INPD, "SR03I-VA-RGA-01:DIS100") + field(INPE, "FE03I-VA-RGA-01:DIS100") + field(INPF, "BL03I-VA-RGA-01:DIS100") + field(INPG, "SR03S-VA-RGA-01:DIS100") + field(INPH, "SR03S-VA-RGA-01:DIS100") +} +record(sel, "SR03C-VA-GRGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(SCAN, "1 second") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DIS50") + field(INPB, "SR03A-VA-RGA-01:DIS50") + field(INPC, "SR03A-VA-RGA-02:DIS50") + field(INPD, "SR03I-VA-RGA-01:DIS50") + field(INPE, "FE03I-VA-RGA-01:DIS50") + field(INPF, "BL03I-VA-RGA-01:DIS50") + field(INPG, "SR03S-VA-RGA-01:DIS50") + field(INPH, "SR03S-VA-RGA-01:DIS50") +} +record(sel, "SR03C-VA-GRGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(SCAN, "1 second") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DIS20") + field(INPB, "SR03A-VA-RGA-01:DIS20") + field(INPC, "SR03A-VA-RGA-02:DIS20") + field(INPD, "SR03I-VA-RGA-01:DIS20") + field(INPE, "FE03I-VA-RGA-01:DIS20") + field(INPF, "BL03I-VA-RGA-01:DIS20") + field(INPG, "SR03S-VA-RGA-01:DIS20") + field(INPH, "SR03S-VA-RGA-01:DIS20") +} +################################################################################ +# Current Selected Filament +# +#% controldesk Filament smon +record(bi,"SR03C-VA-GRGA-01:FIL") +{ + field(DESC, "Filament") + field(INP, "SR03S-VA-RGA-01:FIL") + field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +#% controldesk Filament scon +record(bo, "SR03C-VA-GRGA-01:SETFIL") +{ + field(DESC, "Filament") + field(FLNK, "SR03C-VA-GRGA-01:SEQFIL") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +record(seq, "SR03C-VA-GRGA-01:SEQFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETFIL") + field(DOL2, "SR03C-VA-GRGA-01:SETFIL") + field(DOL3, "SR03C-VA-GRGA-01:SETFIL") + field(DOL4, "SR03C-VA-GRGA-01:SETFIL") + field(DOL5, "SR03C-VA-GRGA-01:SETFIL") + field(DOL6, "SR03C-VA-GRGA-01:SETFIL") + field(DOL7, "SR03C-VA-GRGA-01:SETFIL") + field(DOL8, "SR03C-VA-GRGA-01:SETFIL") + field(LNK1, "SR03S-VA-RGA-01:SETFIL CA") + field(LNK2, "SR03A-VA-RGA-01:SETFIL CA") + field(LNK3, "SR03A-VA-RGA-02:SETFIL CA") + field(LNK4, "SR03I-VA-RGA-01:SETFIL CA") + field(LNK5, "FE03I-VA-RGA-01:SETFIL CA") + field(LNK6, "BL03I-VA-RGA-01:SETFIL CA") + field(LNK7, "SR03S-VA-RGA-01:SETFIL CA") + field(LNK8, "SR03S-VA-RGA-01:SETFIL CA") +} +################################################################################ +# Filament Status +# +#% controldesk Filament Status smon +record(mbbi, "SR03C-VA-GRGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(INP, "SR03C-VA-GRGA-01:SELFILSTA PP MS") +# field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +record(sel, "SR03C-VA-GRGA-01:SELFILSTA") +{ + field(DESC, "Select Filament Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:FILSTA MS") + field(INPB, "SR03A-VA-RGA-01:FILSTA MS") + field(INPC, "SR03A-VA-RGA-02:FILSTA MS") + field(INPD, "SR03I-VA-RGA-01:FILSTA MS") + field(INPE, "FE03I-VA-RGA-01:FILSTA MS") + field(INPF, "BL03I-VA-RGA-01:FILSTA MS") + field(INPG, "SR03S-VA-RGA-01:FILSTA MS") + field(INPH, "SR03S-VA-RGA-01:FILSTA MS") +} +#% controldesk Filament Status scon +record(bo, "SR03C-VA-GRGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(FLNK, "SR03C-VA-GRGA-01:SEQFILCON") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(seq, "SR03C-VA-GRGA-01:SEQFILCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:FILCON") + field(DOL2, "SR03C-VA-GRGA-01:FILCON") + field(DOL3, "SR03C-VA-GRGA-01:FILCON") + field(DOL4, "SR03C-VA-GRGA-01:FILCON") + field(DOL5, "SR03C-VA-GRGA-01:FILCON") + field(DOL6, "SR03C-VA-GRGA-01:FILCON") + field(DOL7, "SR03C-VA-GRGA-01:FILCON") + field(DOL8, "SR03C-VA-GRGA-01:FILCON") + field(LNK1, "SR03S-VA-RGA-01:FILCON CA") + field(LNK2, "SR03A-VA-RGA-01:FILCON CA") + field(LNK3, "SR03A-VA-RGA-02:FILCON CA") + field(LNK4, "SR03I-VA-RGA-01:FILCON CA") + field(LNK5, "FE03I-VA-RGA-01:FILCON CA") + field(LNK6, "BL03I-VA-RGA-01:FILCON CA") + field(LNK7, "SR03S-VA-RGA-01:FILCON CA") + field(LNK8, "SR03S-VA-RGA-01:FILCON CA") +} +################################################################################ +# IMG Interlock Status +# +#% controldesk IMG Interlock smon +record(bi, "SR03C-VA-GRGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(INP, "SR03C-VA-GRGA-01:SELILK PP") + field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +record(sel, "SR03C-VA-GRGA-01:SELILK") +{ + field(DESC, "Select Interlock") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:ILK MS") + field(INPB, "SR03A-VA-RGA-01:ILK MS") + field(INPC, "SR03A-VA-RGA-02:ILK MS") + field(INPD, "SR03I-VA-RGA-01:ILK MS") + field(INPE, "FE03I-VA-RGA-01:ILK MS") + field(INPF, "BL03I-VA-RGA-01:ILK MS") + field(INPG, "SR03S-VA-RGA-01:ILK MS") + field(INPH, "SR03S-VA-RGA-01:ILK MS") +} +################################################################################ +# Multiplier Status +# +#% controldesk Multiplier smon +record(bi,"SR03C-VA-GRGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(INP, "SR03C-VA-GRGA-01:SELMLTSTA PP") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +record(sel, "SR03C-VA-GRGA-01:SELMLTSTA") +{ + field(DESC, "Select Multiplier Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:MLTSTA") + field(INPB, "SR03A-VA-RGA-01:MLTSTA") + field(INPC, "SR03A-VA-RGA-02:MLTSTA") + field(INPD, "SR03I-VA-RGA-01:MLTSTA") + field(INPE, "FE03I-VA-RGA-01:MLTSTA") + field(INPF, "BL03I-VA-RGA-01:MLTSTA") + field(INPG, "SR03S-VA-RGA-01:MLTSTA") + field(INPH, "SR03S-VA-RGA-01:MLTSTA") +} +#% controldesk Multiplier scon +record(bo, "SR03C-VA-GRGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(FLNK, "SR03C-VA-GRGA-01:SEQMLTCON") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +record(seq, "SR03C-VA-GRGA-01:SEQMLTCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:MLTCON") + field(DOL2, "SR03C-VA-GRGA-01:MLTCON") + field(DOL3, "SR03C-VA-GRGA-01:MLTCON") + field(DOL4, "SR03C-VA-GRGA-01:MLTCON") + field(DOL5, "SR03C-VA-GRGA-01:MLTCON") + field(DOL6, "SR03C-VA-GRGA-01:MLTCON") + field(DOL7, "SR03C-VA-GRGA-01:MLTCON") + field(DOL8, "SR03C-VA-GRGA-01:MLTCON") + field(LNK1, "SR03S-VA-RGA-01:MLTCON CA") + field(LNK2, "SR03A-VA-RGA-01:MLTCON CA") + field(LNK3, "SR03A-VA-RGA-02:MLTCON CA") + field(LNK4, "SR03I-VA-RGA-01:MLTCON CA") + field(LNK5, "FE03I-VA-RGA-01:MLTCON CA") + field(LNK6, "BL03I-VA-RGA-01:MLTCON CA") + field(LNK7, "SR03S-VA-RGA-01:MLTCON CA") + field(LNK8, "SR03S-VA-RGA-01:MLTCON CA") +} +################################################################################ +# Scan Mode Status +# +#% controldesk Scan Mode smon +record(bi,"SR03C-VA-GRGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(INP, "SR03S-VA-RGA-01:SCAN") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +#% controldesk Scan Mode scon +record(bo, "SR03C-VA-GRGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(FLNK, "SR03C-VA-GRGA-01:SEQSCAN") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +record(seq, "SR03C-VA-GRGA-01:SEQSCAN") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL2, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL3, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL4, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL5, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL6, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL7, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL8, "SR03C-VA-GRGA-01:SETSCAN") + field(LNK1, "SR03S-VA-RGA-01:SETSCAN CA") + field(LNK2, "SR03A-VA-RGA-01:SETSCAN CA") + field(LNK3, "SR03A-VA-RGA-02:SETSCAN CA") + field(LNK4, "SR03I-VA-RGA-01:SETSCAN CA") + field(LNK5, "FE03I-VA-RGA-01:SETSCAN CA") + field(LNK6, "BL03I-VA-RGA-01:SETSCAN CA") + field(LNK7, "SR03S-VA-RGA-01:SETSCAN CA") + field(LNK8, "SR03S-VA-RGA-01:SETSCAN CA") +} +################################################################################ +# Control Mode Status +# +record(bi,"SR03C-VA-GRGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(SCAN, "1 second") + field(INP, "SR03C-VA-GRGA-01:SELMODE PP") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +record(sel, "SR03C-VA-GRGA-01:SELMODE") +{ + field(DESC, "Select Mode") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:MODE") + field(INPB, "SR03A-VA-RGA-01:MODE") + field(INPC, "SR03A-VA-RGA-02:MODE") + field(INPD, "SR03I-VA-RGA-01:MODE") + field(INPE, "FE03I-VA-RGA-01:MODE") + field(INPF, "BL03I-VA-RGA-01:MODE") + field(INPG, "SR03S-VA-RGA-01:MODE") + field(INPH, "SR03S-VA-RGA-01:MODE") +} +record(bo, "SR03C-VA-GRGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(FLNK, "SR03C-VA-GRGA-01:SEQMODE") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +record(seq, "SR03C-VA-GRGA-01:SEQMODE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETMODE") + field(DOL2, "SR03C-VA-GRGA-01:SETMODE") + field(DOL3, "SR03C-VA-GRGA-01:SETMODE") + field(DOL4, "SR03C-VA-GRGA-01:SETMODE") + field(DOL5, "SR03C-VA-GRGA-01:SETMODE") + field(DOL6, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL7, "SR03C-VA-GRGA-01:SETMODE") + field(DOL8, "SR03C-VA-GRGA-01:SETMODE") + field(LNK1, "SR03S-VA-RGA-01:SETMODE CA") + field(LNK2, "SR03A-VA-RGA-01:SETMODE CA") + field(LNK3, "SR03A-VA-RGA-02:SETMODE CA") + field(LNK4, "SR03I-VA-RGA-01:SETMODE CA") + field(LNK5, "FE03I-VA-RGA-01:SETMODE CA") + field(LNK6, "BL03I-VA-RGA-01:SETMODE CA") + field(LNK7, "SR03S-VA-RGA-01:SETMODE CA") + field(LNK8, "SR03S-VA-RGA-01:SETMODE CA") +} +################################################################################ +# Is there data to read +# +#% controldesk Data to read smon +record(mbbi, "SR03C-VA-GRGA-01:DATA") +{ + field(DESC, "Data to read") + field(INP, "SR03C-VA-GRGA-01:SELDATA PP") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} +record(sel, "SR03C-VA-GRGA-01:SELDATA") +{ + field(DESC, "Select Data") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DATA") + field(INPB, "SR03A-VA-RGA-01:DATA") + field(INPC, "SR03A-VA-RGA-02:DATA") + field(INPD, "SR03I-VA-RGA-01:DATA") + field(INPE, "FE03I-VA-RGA-01:DATA") + field(INPF, "BL03I-VA-RGA-01:DATA") + field(INPG, "SR03S-VA-RGA-01:DATA") + field(INPH, "SR03S-VA-RGA-01:DATA") +} +################################################################################ +# Date of current scan +# +#% controldesk Date readback +record(stringin, "SR03C-VA-GRGA-01:DATE") +{ + field(DESC, "Date") + field(INP, "SR03S-VA-RGA-01:DATE") + field(SCAN, "1 second") +} +#record(stringin, "SR03C-VA-GRGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(INP, "SR03S-VA-RGA-01:YEAR") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(longin, "SR03C-VA-GRGA-01:MON") +#{ +# field(DESC, "Month") +# field(INP, "SR03S-VA-RGA-01:MON") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03C-VA-GRGA-01:DAY") +#{ +# field(DESC, "Day") +# field(INP, "SR03S-VA-RGA-01:DAY") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03C-VA-GRGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(INP, "SR03S-VA-RGA-01:HOUR") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(stringin, "SR03C-VA-GRGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(INP, "SR03S-VA-RGA-01:MIN") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(stringin, "SR03C-VA-GRGA-01:SEC") +#{ +# field(DESC, "Second") +# field(INP, "SR03S-VA-RGA-01:SEC") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% controldesk Detector Setting smon +record(mbbi, "SR03C-VA-GRGA-01:DET") +{ + field(DESC, "Detector Setting") + field(INP, "SR03C-VA-GRGA-01:SELDET PP") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +record(sel, "SR03C-VA-GRGA-01:SELDET") +{ + field(DESC, "Select Data") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DET") + field(INPB, "SR03A-VA-RGA-01:DET") + field(INPC, "SR03A-VA-RGA-02:DET") + field(INPD, "SR03I-VA-RGA-01:DET") + field(INPE, "FE03I-VA-RGA-01:DET") + field(INPF, "BL03I-VA-RGA-01:DET") + field(INPG, "SR03S-VA-RGA-01:DET") + field(INPH, "SR03S-VA-RGA-01:DET") +} +################################################################################ +# Total Pressure +# +#% controldesk Total Pressure readback +# +record(sel, "SR03C-VA-GRGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:TOTP") + field(INPB, "SR03A-VA-RGA-01:TOTP") + field(INPC, "SR03A-VA-RGA-02:TOTP") + field(INPD, "SR03I-VA-RGA-01:TOTP") + field(INPE, "FE03I-VA-RGA-01:TOTP") + field(INPF, "BL03I-VA-RGA-01:TOTP") + field(INPG, "SR03S-VA-RGA-01:TOTP") + field(INPH, "SR03S-VA-RGA-01:TOTP") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calc, "SR03C-VA-GRGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:TOTP") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% controldesk Sum of Peaks readback +# +record(sel, "SR03C-VA-GRGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:SUMP") + field(INPB, "SR03A-VA-RGA-01:SUMP") + field(INPC, "SR03A-VA-RGA-02:SUMP") + field(INPD, "SR03I-VA-RGA-01:SUMP") + field(INPE, "FE03I-VA-RGA-01:SUMP") + field(INPF, "BL03I-VA-RGA-01:SUMP") + field(INPG, "SR03S-VA-RGA-01:SUMP") + field(INPH, "SR03S-VA-RGA-01:SUMP") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calc, "SR03C-VA-GRGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:SUMP") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart +# +record(sel, "SR03C-VA-GRGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M1") + field(INPB, "SR03A-VA-RGA-01:BAR:M1") + field(INPC, "SR03A-VA-RGA-02:BAR:M1") + field(INPD, "SR03I-VA-RGA-01:BAR:M1") + field(INPE, "FE03I-VA-RGA-01:BAR:M1") + field(INPF, "BL03I-VA-RGA-01:BAR:M1") + field(INPG, "SR03S-VA-RGA-01:BAR:M1") + field(INPH, "SR03S-VA-RGA-01:BAR:M1") + field(SDIS, "SR03C-VA-GRGA-01:DIS50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk H2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M2") +{ + field(DESC, "H2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M2") + field(INPB, "SR03A-VA-RGA-01:BAR:M2") + field(INPC, "SR03A-VA-RGA-02:BAR:M2") + field(INPD, "SR03I-VA-RGA-01:BAR:M2") + field(INPE, "FE03I-VA-RGA-01:BAR:M2") + field(INPF, "BL03I-VA-RGA-01:BAR:M2") + field(INPG, "SR03S-VA-RGA-01:BAR:M2") + field(INPH, "SR03S-VA-RGA-01:BAR:M2") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(sel, "SR03C-VA-GRGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M3") + field(INPB, "SR03A-VA-RGA-01:BAR:M3") + field(INPC, "SR03A-VA-RGA-02:BAR:M3") + field(INPD, "SR03I-VA-RGA-01:BAR:M3") + field(INPE, "FE03I-VA-RGA-01:BAR:M3") + field(INPF, "BL03I-VA-RGA-01:BAR:M3") + field(INPG, "SR03S-VA-RGA-01:BAR:M3") + field(INPH, "SR03S-VA-RGA-01:BAR:M3") + field(SDIS, "SR03C-VA-GRGA-01:DIS50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk He readback +record(sel, "SR03C-VA-GRGA-01:BAR:M4") +{ + field(DESC, "He") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M4") + field(INPB, "SR03A-VA-RGA-01:BAR:M4") + field(INPC, "SR03A-VA-RGA-02:BAR:M4") + field(INPD, "SR03I-VA-RGA-01:BAR:M4") + field(INPE, "FE03I-VA-RGA-01:BAR:M4") + field(INPF, "BL03I-VA-RGA-01:BAR:M4") + field(INPG, "SR03S-VA-RGA-01:BAR:M4") + field(INPH, "SR03S-VA-RGA-01:BAR:M4") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH2/N2++ readback +record(sel, "SR03C-VA-GRGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M14") + field(INPB, "SR03A-VA-RGA-01:BAR:M14") + field(INPC, "SR03A-VA-RGA-02:BAR:M14") + field(INPD, "SR03I-VA-RGA-01:BAR:M14") + field(INPE, "FE03I-VA-RGA-01:BAR:M14") + field(INPF, "BL03I-VA-RGA-01:BAR:M14") + field(INPG, "SR03S-VA-RGA-01:BAR:M14") + field(INPH, "SR03S-VA-RGA-01:BAR:M14") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH3 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M15") + field(INPB, "SR03A-VA-RGA-01:BAR:M15") + field(INPC, "SR03A-VA-RGA-02:BAR:M15") + field(INPD, "SR03I-VA-RGA-01:BAR:M15") + field(INPE, "FE03I-VA-RGA-01:BAR:M15") + field(INPF, "BL03I-VA-RGA-01:BAR:M15") + field(INPG, "SR03S-VA-RGA-01:BAR:M15") + field(INPH, "SR03S-VA-RGA-01:BAR:M15") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH4 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M16") + field(INPB, "SR03A-VA-RGA-01:BAR:M16") + field(INPC, "SR03A-VA-RGA-02:BAR:M16") + field(INPD, "SR03I-VA-RGA-01:BAR:M16") + field(INPE, "FE03I-VA-RGA-01:BAR:M16") + field(INPF, "BL03I-VA-RGA-01:BAR:M16") + field(INPG, "SR03S-VA-RGA-01:BAR:M16") + field(INPH, "SR03S-VA-RGA-01:BAR:M16") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk H20 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M18") +{ + field(DESC, "H20") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M18") + field(INPB, "SR03A-VA-RGA-01:BAR:M18") + field(INPC, "SR03A-VA-RGA-02:BAR:M18") + field(INPD, "SR03I-VA-RGA-01:BAR:M18") + field(INPE, "FE03I-VA-RGA-01:BAR:M18") + field(INPF, "BL03I-VA-RGA-01:BAR:M18") + field(INPG, "SR03S-VA-RGA-01:BAR:M18") + field(INPH, "SR03S-VA-RGA-01:BAR:M18") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk N2/CO readback +record(sel, "SR03C-VA-GRGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M28") + field(INPB, "SR03A-VA-RGA-01:BAR:M28") + field(INPC, "SR03A-VA-RGA-02:BAR:M28") + field(INPD, "SR03I-VA-RGA-01:BAR:M28") + field(INPE, "FE03I-VA-RGA-01:BAR:M28") + field(INPF, "BL03I-VA-RGA-01:BAR:M28") + field(INPG, "SR03S-VA-RGA-01:BAR:M28") + field(INPH, "SR03S-VA-RGA-01:BAR:M28") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk O2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M32") +{ + field(DESC, "O2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M32") + field(INPB, "SR03A-VA-RGA-01:BAR:M32") + field(INPC, "SR03A-VA-RGA-02:BAR:M32") + field(INPD, "SR03I-VA-RGA-01:BAR:M32") + field(INPE, "FE03I-VA-RGA-01:BAR:M32") + field(INPF, "BL03I-VA-RGA-01:BAR:M32") + field(INPG, "SR03S-VA-RGA-01:BAR:M32") + field(INPH, "SR03S-VA-RGA-01:BAR:M32") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk Ar readback +record(sel, "SR03C-VA-GRGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M40") + field(INPB, "SR03A-VA-RGA-01:BAR:M40") + field(INPC, "SR03A-VA-RGA-02:BAR:M40") + field(INPD, "SR03I-VA-RGA-01:BAR:M40") + field(INPE, "FE03I-VA-RGA-01:BAR:M40") + field(INPF, "BL03I-VA-RGA-01:BAR:M40") + field(INPG, "SR03S-VA-RGA-01:BAR:M40") + field(INPH, "SR03S-VA-RGA-01:BAR:M40") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CO2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M44") + field(INPB, "SR03A-VA-RGA-01:BAR:M44") + field(INPC, "SR03A-VA-RGA-02:BAR:M44") + field(INPD, "SR03I-VA-RGA-01:BAR:M44") + field(INPE, "FE03I-VA-RGA-01:BAR:M44") + field(INPF, "BL03I-VA-RGA-01:BAR:M44") + field(INPG, "SR03S-VA-RGA-01:BAR:M44") + field(INPH, "SR03S-VA-RGA-01:BAR:M44") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CF3/C5H9 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M69") + field(INPB, "SR03A-VA-RGA-01:BAR:M69") + field(INPC, "SR03A-VA-RGA-02:BAR:M69") + field(INPD, "SR03I-VA-RGA-01:BAR:M69") + field(INPE, "FE03I-VA-RGA-01:BAR:M69") + field(INPF, "BL03I-VA-RGA-01:BAR:M69") + field(INPG, "SR03S-VA-RGA-01:BAR:M69") + field(INPH, "SR03S-VA-RGA-01:BAR:M69") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03C-VA-GRGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M1 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M2 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M3 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M4 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M14 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M15 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M16 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M18 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M28 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M32 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M40 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M44 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M69 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +#record(stringin, "SR03C-VA-GRGA-01:EDLFILE") +# { +# field(DESC, "EDL filename") +# } + +#record(aSub, "SR03C-VA-GRGA-01:DBGET") +# { +# field(SCAN, "Passive") +# field(SNAM, "dbLookupCalc") +# field(INAM, "dbLookupInit") +# +# field(FTA, "SHORT") +# field(FTB, "SHORT") +# field(FTC, "SHORT") +# field(FTD, "SHORT") +# field(FTE, "SHORT") +# field(FTF, "SHORT") +# field(FTG, "SHORT") +# field(FTH, "SHORT") +# +# field(FTVA, "STRING") +# +# field(INPA, "2") +# +# # Output fields +# field(OUTA, "SR03C-VA-GRGA-01:EDLFILE PP") +# }# digitelMpcTspGroup.db +#% macro, __doc__, Template database for a group of up to 8 digitel MPC TSPs +# Pete Owens - 11/4/05 +# +# substitutions: +#% macro, device, device name +# % macro, tsp1, TSP 1 device name +# % macro, tsp2, TSP 2 device name +# % macro, tsp3, TSP 3 device name +# % macro, tsp4, TSP 4 device name +# % macro, tsp5, TSP 5 device name +# % macro, tsp6, TSP 6 device name +# % macro, tsp7, TSP 7 device name +# % macro, tsp8, TSP 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GTSP-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GTSP-01:MAXSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Off") + field(TWST, "Ramping") + field(THST, "Firing") + field(FRST, "Armed") + field(FVST, "Pressure Intlk") + field(SXST, "No Interlock") + field(SVST, "Degas") + field(EIST, "Auto Config") + field(NIST, "Re-Sync") + field(TEST, "Disconnected") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:MAXSTA") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:STA MS") + field(INPB, "SR03I-VA-TSP-01:STA MS") + field(INPC, "SR03I-VA-TSP-01:STA MS") + field(INPD, "SR03I-VA-TSP-02:STA MS") + field(INPE, "SR03I-VA-TSP-02:STA MS") + field(INPF, "SR03I-VA-TSP-02:STA MS") + field(INPG, "SR03I-VA-TSP-02:STA MS") + field(INPH, "SR03I-VA-TSP-02:STA MS") +} +################################################################################ +# Filament Status +# +#% controldesk Filament 1 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL1:STA") +{ + field(DESC, "Filament 1 Status") + field(INP, "SR03C-VA-GTSP-01:FIL1:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL1:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL1:STA MS") +} +# +#% controldesk Filament 2 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL2:STA") +{ + field(DESC, "Filament 2 Status") + field(INP, "SR03C-VA-GTSP-01:FIL2:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL2:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL2:STA MS") +} +# +#% controldesk Filament 3 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL3:STA") +{ + field(DESC, "Filament 3 Status") + field(INP, "SR03C-VA-GTSP-01:FIL3:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL3:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL3:STA MS") +} +################################################################################ +# Power +# +#% controldesk Power smon +# +record(ai, "SR03C-VA-GTSP-01:POWER") +{ + field(DESC, "Power") + field(INP, "SR03C-VA-GTSP-01:MAXPOWER PP MS") + field(SCAN, "1 second") + field(EGU, "W") + field(LOPR, "0.0") + field(HOPR, "500.0") + field(PREC, "0") +} +record(sel, "SR03C-VA-GTSP-01:MAXPOWER") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:POWER MS") + field(INPB, "SR03I-VA-TSP-01:POWER MS") + field(INPC, "SR03I-VA-TSP-01:POWER MS") + field(INPD, "SR03I-VA-TSP-02:POWER MS") + field(INPE, "SR03I-VA-TSP-02:POWER MS") + field(INPF, "SR03I-VA-TSP-02:POWER MS") + field(INPG, "SR03I-VA-TSP-02:POWER MS") + field(INPH, "SR03I-VA-TSP-02:POWER MS") +} +record(ao, "SR03C-VA-GTSP-01:SETPOWER") +{ + field(DESC, "Power") + field(FLNK, "SR03C-VA-GTSP-01:SEQPOWER") + field(EGU, "W") + field(DRVL, "0") + field(DRVH, "250") + field(LOPR, "0") + field(HOPR, "250") + field(PREC, "0") + field(DOL, "190") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQPOWER") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL2, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL3, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL4, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL5, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL6, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL7, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL8, "SR03C-VA-GTSP-01:SETPOWER") + field(LNK1, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK2, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK3, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK4, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK5, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK6, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK7, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK8, "SR03I-VA-TSP-02:SETPOWER CA") +} +record(ao, "SR03C-VA-GTSP-01:RAMPRATE") +{ + field(DESC, "Power Ramp Rate") + field(FLNK, "SR03C-VA-GTSP-01:SEQRAMP") + field(EGU, "W/s") + field(DRVL, "10") + field(DRVH, "50") + field(LOPR, "10") + field(HOPR, "50") + field(PREC, "0") + field(DOL, "25") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQRAMP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL2, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL3, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL4, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL5, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL6, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL7, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL8, "SR03C-VA-GTSP-01:RAMPRATE") + field(LNK1, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK2, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK3, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK4, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK5, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK6, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK7, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK8, "SR03I-VA-TSP-02:RAMPRATE CA") +} +################################################################################ +# TSP operating mode +# +record(mbbi, "SR03C-VA-GTSP-01:MODE") +{ + field(DESC, "Operating Mode") + field(INP, "SR03C-VA-GTSP-01:MAXMODE PP MS") + field(SCAN, "1 second") + field(ZRST, "Off") + field(ONST, "Timed") + field(TWST, "Continuous") + field(THST, "Degas") +} +record(sel, "SR03C-VA-GTSP-01:MAXMODE") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:MODE MS") + field(INPB, "SR03I-VA-TSP-01:MODE MS") + field(INPC, "SR03I-VA-TSP-01:MODE MS") + field(INPD, "SR03I-VA-TSP-02:MODE MS") + field(INPE, "SR03I-VA-TSP-02:MODE MS") + field(INPF, "SR03I-VA-TSP-02:MODE MS") + field(INPG, "SR03I-VA-TSP-02:MODE MS") + field(INPH, "SR03I-VA-TSP-02:MODE MS") +} +record(mbbo, "SR03C-VA-GTSP-01:SETMODE") +{ + field(DESC, "Operating Mode") + field(FLNK, "SR03C-VA-GTSP-01:SEQMODE") + field(ZRST, "Off") + field(ONST, "Timed") + field(TWST, "Continuous") + field(THST, "Degas") + field(DOL, "0") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQMODE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETMODE") + field(DOL2, "SR03C-VA-GTSP-01:SETMODE") + field(DOL3, "SR03C-VA-GTSP-01:SETMODE") + field(DOL4, "SR03C-VA-GTSP-01:SETMODE") + field(DOL5, "SR03C-VA-GTSP-01:SETMODE") + field(DOL6, "SR03C-VA-GTSP-01:SETMODE") + field(DOL7, "SR03C-VA-GTSP-01:SETMODE") + field(DOL8, "SR03C-VA-GTSP-01:SETMODE") + field(LNK1, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK2, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK3, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK4, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK5, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK6, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK7, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK8, "SR03I-VA-TSP-02:SETMODE CA") +} +################################################################################ +# TSP operating mode - Off +# +################################################################################ +# TSP operating mode - Timed +# +# controldesk Timed Mode On Time setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMONTIME") +{ + field(DESC, "Timed On Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMON") + field(EGU, "s") + field(DRVL, "10") + field(DRVH, "120") + field(LOPR, "10") + field(HOPR, "120") + field(PREC, "0") + field(DOL, "60") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL2, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL3, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL4, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL5, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL6, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL7, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL8, "SR03C-VA-GTSP-01:TIMONTIME") + field(LNK1, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK2, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK3, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK4, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK5, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK6, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK7, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK8, "SR03I-VA-TSP-02:TIMONTIME CA") +} +# +#% controldesk Timed Mode Off Time setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMOFFTIME") +{ + field(DESC, "Timed Off Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMOFF") + field(EGU, "min") + field(DRVL, "1") + field(DRVH, "600") + field(LOPR, "1") + field(HOPR, "600") + field(PREC, "0") + field(DOL, "60") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMOFF") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL2, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL3, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL4, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL5, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL6, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL7, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL8, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(LNK1, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK2, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK3, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK4, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK5, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK6, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK7, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK8, "SR03I-VA-TSP-02:TIMOFFTIME CA") +} +# +#% controldesk Timed Mode Cycles setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMCYCLES") +{ + field(DESC, "Timed Cycles") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMCYCL") + field(DRVL, "1") + field(DRVH, "20") + field(LOPR, "1") + field(HOPR, "20") + field(PREC, "0") + field(DOL, "10") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMCYCL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL2, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL3, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL4, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL5, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL6, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL7, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL8, "SR03C-VA-GTSP-01:TIMCYCLES") + field(LNK1, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK2, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK3, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK4, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK5, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK6, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK7, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK8, "SR03I-VA-TSP-02:TIMCYCLES CA") +} +################################################################################ +# TSP operating mode - Degas +# +record(ao, "SR03C-VA-GTSP-01:DGSONTIME") +{ + field(DESC, "Degas On Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQDGSON") + field(EGU, "s") + field(DRVL, "10") + field(DRVH, "180") + field(LOPR, "10") + field(HOPR, "180") + field(PREC, "0") + field(DOL, "90") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQDGSON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL2, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL3, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL4, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL5, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL6, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL7, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL8, "SR03C-VA-GTSP-01:DGSONTIME") + field(LNK1, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK2, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK3, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK4, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK5, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK6, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK7, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK8, "SR03I-VA-TSP-02:DGSONTIME CA") +} +################################################################################ +# TSP operating mode - Continuous +# +################################################################################ +# Filament active (for timed mode) +# +record(mbbi, "SR03C-VA-GTSP-01:FIL") +{ + field(DESC, "Filament Active") + field(INP, "SR03I-VA-TSP-01:FIL") + field(SCAN, "1 second") + field(ZRST, "Filament 1") + field(ONST, "Filament 2") + field(TWST, "Filament 3") +# field(THST, "Filament 4") +} +record(mbbo, "SR03C-VA-GTSP-01:SETFIL") +{ + field(DESC, "Filament Active") + field(FLNK, "SR03C-VA-GTSP-01:SEQFIL") + field(ZRST, "Filament 1") + field(ONST, "Filament 2") + field(TWST, "Filament 3") +# field(THST, "Filament 4") +} +record(seq, "SR03C-VA-GTSP-01:SEQFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETFIL") + field(DOL2, "SR03C-VA-GTSP-01:SETFIL") + field(DOL3, "SR03C-VA-GTSP-01:SETFIL") + field(DOL4, "SR03C-VA-GTSP-01:SETFIL") + field(DOL5, "SR03C-VA-GTSP-01:SETFIL") + field(DOL6, "SR03C-VA-GTSP-01:SETFIL") + field(DOL7, "SR03C-VA-GTSP-01:SETFIL") + field(DOL8, "SR03C-VA-GTSP-01:SETFIL") + field(LNK1, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK2, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK3, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK4, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK5, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK6, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK7, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK8, "SR03I-VA-TSP-02:SETFIL CA") +} +################################################################################ +# TSP status +# Just takes status of SR03I-VA-TSP-01 +# +record(longin, "SR03C-VA-GTSP-01:LEFT") +{ + field(DESC, "Cycles Left") + field(INP, "SR03I-VA-TSP-01:LEFT") + field(SCAN, "1 second") + field(LOPR, "0") + field(HOPR, "999") +} +record(longin, "SR03C-VA-GTSP-01:FIL1:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL1:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL2:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL2:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL3:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL3:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL4:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL4:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +################################################################################ +# Clear filaments +# +record(bo, "SR03C-VA-GTSP-01:CLEAR") +{ + field(DESC, "Clear Filaments") + field(FLNK, "SR03C-VA-GTSP-01:SEQCLEAR") + field(ZNAM, "Clear") + field(ONAM, "Clear") +} +record(seq, "SR03C-VA-GTSP-01:SEQCLEAR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:CLEAR") + field(DOL2, "SR03C-VA-GTSP-01:CLEAR") + field(DOL3, "SR03C-VA-GTSP-01:CLEAR") + field(DOL4, "SR03C-VA-GTSP-01:CLEAR") + field(DOL5, "SR03C-VA-GTSP-01:CLEAR") + field(DOL6, "SR03C-VA-GTSP-01:CLEAR") + field(DOL7, "SR03C-VA-GTSP-01:CLEAR") + field(DOL8, "SR03C-VA-GTSP-01:CLEAR") + field(LNK1, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK2, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK3, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK4, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK5, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK6, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK7, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK8, "SR03I-VA-TSP-02:CLEAR CA") +} +################################################################################ +# Automatically Advance Filaments +# +record(bo, "SR03C-VA-GTSP-01:SETAUTOFIL") +{ + field(DESC, "Auto Advance") + field(FLNK, "SR03C-VA-GTSP-01:SEQAUTOFIL") + field(ZNAM, "No") + field(ONAM, "Yes") + field(DOL, "0") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQAUTOFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL2, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL3, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL4, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL5, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL6, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL7, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL8, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(LNK1, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK2, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK3, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK4, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK5, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK6, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK7, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK8, "SR03I-VA-TSP-02:SETAUTOFIL CA") +} +################################################################################ +# Pressure Threshhold +# +record(mbbo, "SR03C-VA-GTSP-01:CTLSRC") +{ + field(DESC, "Control Source") + field(FLNK, "SR03C-VA-GTSP-01:SEQCTLSRC") + field(ZRST, "Service") + field(ONST, "Ion Pump 1") + field(TWST, "Ion Pump 2") + field(DOL, "1") +} +record(seq, "SR03C-VA-GTSP-01:SEQCTLSRC") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL2, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL3, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL4, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL5, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL6, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL7, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL8, "SR03C-VA-GTSP-01:CTLSRC") + field(LNK1, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK2, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK3, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK4, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK5, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK6, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK7, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK8, "SR03I-VA-TSP-02:CTLSRC CA") +} +record(ao, "SR03C-VA-GTSP-01:SETUPPERPTHR") +{ + field(DESC, "Pressure Threshold") + field(FLNK, "SR03C-VA-GTSP-01:SEQUPPERPTHR") + field(EGU, "mbar") + field(DRVL, "1.0e-12") + field(DRVH, "1.0e-5") + field(LOPR, "0.0") + field(HOPR, "1.0e-5") + field(PREC, "1") + field(DOL, "1.0e-8") + field(PINI, "YES") +} + + +record(seq, "SR03C-VA-GTSP-01:SEQUPPERPTHR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL2, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL3, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL4, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL5, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL6, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL7, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL8, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(LNK1, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK2, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK3, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK4, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK5, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK6, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK7, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK8, "SR03I-VA-TSP-02:SETUPPERPTHR CA") +} + +record(ao, "SR03C-VA-GTSP-01:SETLOWERPTHR") +{ + field(DESC, "Pressure Threshold") + field(FLNK, "SR03C-VA-GTSP-01:SEQLOWERPTHR") + field(EGU, "mbar") + field(DRVL, "1.0e-12") + field(DRVH, "1.0e-5") + field(LOPR, "0.0") + field(HOPR, "1.0e-5") + field(PREC, "1") + field(DOL, "1.0e-8") + field(PINI, "YES") +} + + +record(seq, "SR03C-VA-GTSP-01:SEQLOWERPTHR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL2, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL3, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL4, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL5, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL6, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL7, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL8, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(LNK1, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK2, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK3, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK4, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK5, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK6, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK7, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK8, "SR03I-VA-TSP-02:SETLOWERPTHR CA") +} +################################################################################ + + +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(genSub, "SR03S-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03S-VA-MIMG-01:STA PP") + field(OUTB, "SR03S-VA-MIMG-01:P PP") + field(OUTC, "SR03S-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03S-VA-MIMG-01:PMIN PP") + field(INPA, "2") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03S-VA-IMG-01:P") + field(INPE, "SR03S-VA-IMG-01:P") + field(INPF, "SR03S-VA-IMG-01:P") + field(INPG, "SR03S-VA-IMG-01:P") + field(INPH, "SR03S-VA-IMG-01:P") + field(INPI, "SR03S-VA-IMG-01:P") + field(INPJ, "SR03S-VA-IMG-01:P") + field(INPK, "SR03S-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03S-VA-IMG-01:STA") + field(INPO, "SR03S-VA-IMG-01:STA") + field(INPP, "SR03S-VA-IMG-01:STA") + field(INPQ, "SR03S-VA-IMG-01:STA") + field(INPR, "SR03S-VA-IMG-01:STA") + field(INPS, "SR03S-VA-IMG-01:STA") + field(INPT, "SR03S-VA-IMG-01:STA") + field(INPU, "SR03S-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03S-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03S-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:P.ADEL") + field(INPA, "SR03S-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03S-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03S-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03S-VA-MIMG-01:P MS") + field(INPB, "SR03S-VA-MIMG-01:I PP MS") +} +record(calc, "SR03S-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(genSub, "SR03A-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03A-VA-MIMG-01:STA PP") + field(OUTB, "SR03A-VA-MIMG-01:P PP") + field(OUTC, "SR03A-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03A-VA-MIMG-01:PMIN PP") + field(INPA, "4") + field(INPB, "SR03A-VA-IMG-01:P") + field(INPC, "SR03A-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-03:P") + field(INPE, "SR03A-VA-IMG-04:P") + field(INPF, "SR03A-VA-IMG-01:P") + field(INPG, "SR03A-VA-IMG-01:P") + field(INPH, "SR03A-VA-IMG-01:P") + field(INPI, "SR03A-VA-IMG-01:P") + field(INPJ, "SR03S-VA-IMG-01:P") + field(INPK, "SR03S-VA-IMG-01:P") + field(INPL, "SR03A-VA-IMG-01:STA") + field(INPM, "SR03A-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-03:STA") + field(INPO, "SR03A-VA-IMG-04:STA") + field(INPP, "SR03A-VA-IMG-01:STA") + field(INPQ, "SR03A-VA-IMG-01:STA") + field(INPR, "SR03A-VA-IMG-01:STA") + field(INPS, "SR03A-VA-IMG-01:STA") + field(INPT, "SR03S-VA-IMG-01:STA") + field(INPU, "SR03S-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03A-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03A-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:P.ADEL") + field(INPA, "SR03A-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03A-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03A-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03A-VA-MIMG-01:P MS") + field(INPB, "SR03A-VA-MIMG-01:I PP MS") +} +record(calc, "SR03A-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(genSub, "SR03C-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03C-VA-MIMG-01:STA PP") + field(OUTB, "SR03C-VA-MIMG-01:P PP") + field(OUTC, "SR03C-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03C-VA-MIMG-01:PMIN PP") + field(INPA, "9") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-01:P") + field(INPE, "SR03A-VA-IMG-02:P") + field(INPF, "SR03A-VA-IMG-03:P") + field(INPG, "SR03A-VA-IMG-04:P") + field(INPH, "SR03I-VA-IMG-01:P") + field(INPI, "SR03I-VA-IMG-02:P") + field(INPJ, "SR03I-VA-IMG-03:P") + field(INPK, "SR03A-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-01:STA") + field(INPO, "SR03A-VA-IMG-02:STA") + field(INPP, "SR03A-VA-IMG-03:STA") + field(INPQ, "SR03A-VA-IMG-04:STA") + field(INPR, "SR03I-VA-IMG-01:STA") + field(INPS, "SR03I-VA-IMG-02:STA") + field(INPT, "SR03I-VA-IMG-03:STA") + field(INPU, "SR03A-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03C-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03C-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:P.ADEL") + field(INPA, "SR03C-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03C-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03C-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03C-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03C-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03C-VA-MIMG-01:P MS") + field(INPB, "SR03C-VA-MIMG-01:I PP MS") +} +record(calc, "SR03C-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(genSub, "SR03S-VA-MIMG-02:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03S-VA-MIMG-02:STA PP") + field(OUTB, "SR03S-VA-MIMG-02:P PP") + field(OUTC, "SR03S-VA-MIMG-02:PMAX PP") + field(OUTD, "SR03S-VA-MIMG-02:PMIN PP") + field(INPA, "9") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-01:P") + field(INPE, "SR03A-VA-IMG-02:P") + field(INPF, "SR02A-VA-IMG-13:P") + field(INPG, "SR02A-VA-IMG-14:P") + field(INPH, "SR03I-VA-IMG-01:P") + field(INPI, "SR03I-VA-IMG-02:P") + field(INPJ, "SR03I-VA-IMG-03:P") + field(INPK, "SR03A-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-01:STA") + field(INPO, "SR03A-VA-IMG-02:STA") + field(INPP, "SR02A-VA-IMG-13:STA") + field(INPQ, "SR02A-VA-IMG-14:STA") + field(INPR, "SR03I-VA-IMG-01:STA") + field(INPS, "SR03I-VA-IMG-02:STA") + field(INPT, "SR03I-VA-IMG-03:STA") + field(INPU, "SR03A-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03S-VA-MIMG-02:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03S-VA-MIMG-02:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:P.ADEL") + field(INPA, "SR03S-VA-MIMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-02:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:PMAX.ADEL") + field(INPA, "SR03S-VA-MIMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-02:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:PMIN.ADEL") + field(INPA, "SR03S-VA-MIMG-02:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03S-VA-MIMG-02:P MS") + field(INPB, "SR03S-VA-MIMG-02:I PP MS") +} +record(calc, "SR03S-VA-MIMG-02:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_readWord.vdb", digitalIn) + +# % gui, DIG_01, edm, NX102_readWord.edl, device=SR03C-VA-VLVCC-01:DIGITAL01, type=BIT, desc=Digital_In +record(ai, "SR03C-VA-VLVCC-01:DIGITAL01:HASDEBOUNCE") { + field(VAL, "0") + field(PINI, "YES") +} + +# Individual bits +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0") { + field(DESC, "bit 0") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1") { + field(DESC, "bit 1") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2") { + field(DESC, "bit 2") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3") { + field(DESC, "bit 3") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4") { + field(DESC, "bit 4") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5") { + field(DESC, "bit 5") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6") { + field(DESC, "bit 6") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7") { + field(DESC, "bit 7") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8") { + field(DESC, "bit 8") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9") { + field(DESC, "bit 9") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10") { + field(DESC, "bit 10") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11") { + field(DESC, "bit 11") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12") { + field(DESC, "bit 12") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13") { + field(DESC, "bit 13") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14") { + field(DESC, "bit 14") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15") { + field(DESC, "bit 15") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Current bit Status smon +record(mbbiDirect, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT") { + field(DESC, "Current Bits") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# +# This record allows scanning of all the individual interlock stringin +# :DESC records to be disabled. It is initialised to Enabled and does +# NOT control the way the data is read once only at boot time. +# It was useful during development and testing. +# +record(bo, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") { + field(SCAN, "Passive") + field(PINI, "YES") + field(DTYP, "Soft Channel") + field(VAL, "1") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} + +# Records for reading back the bit descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") { + field(DESC, "Description of bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B00_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") { + field(DESC, "Description of bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B01_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") { + field(DESC, "Description of bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B02_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") { + field(DESC, "Description of bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B03_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") { + field(DESC, "Description of bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B04_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") { + field(DESC, "Description of bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B05_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") { + field(DESC, "Description of bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B06_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") { + field(DESC, "Description of bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B07_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") { + field(DESC, "Description of bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B08_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") { + field(DESC, "Description of bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B09_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") { + field(DESC, "Description of bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B10_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") { + field(DESC, "Description of bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B11_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") { + field(DESC, "Description of bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B12_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") { + field(DESC, "Description of bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B13_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") { + field(DESC, "Description of bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B14_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") { + field(DESC, "Description of bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B15_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15.ONAM") +} + +# end(digitalIn) +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# expand("/dls_sw/prod/R3.14.12.7/support/dlsPLC/3-0-47/dlsPLCApp/Db/O.linux-x86_64/../NX102_readWord.vdb", digitalIn) + +# % gui, DIG_02, edm, NX102_readWord.edl, device=SR03C-VA-VLVCC-01:DIGITAL02, type=BIT, desc=Digital_In +record(ai, "SR03C-VA-VLVCC-01:DIGITAL02:HASDEBOUNCE") { + field(VAL, "0") + field(PINI, "YES") +} + +# Individual bits +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0") { + field(DESC, "bit 0") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1") { + field(DESC, "bit 1") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2") { + field(DESC, "bit 2") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3") { + field(DESC, "bit 3") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4") { + field(DESC, "bit 4") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5") { + field(DESC, "bit 5") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6") { + field(DESC, "bit 6") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7") { + field(DESC, "bit 7") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8") { + field(DESC, "bit 8") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9") { + field(DESC, "bit 9") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10") { + field(DESC, "bit 10") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11") { + field(DESC, "bit 11") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12") { + field(DESC, "bit 12") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13") { + field(DESC, "bit 13") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14") { + field(DESC, "bit 14") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15") { + field(DESC, "bit 15") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Current bit Status smon +record(mbbiDirect, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT") { + field(DESC, "Current Bits") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# +# This record allows scanning of all the individual interlock stringin +# :DESC records to be disabled. It is initialised to Enabled and does +# NOT control the way the data is read once only at boot time. +# It was useful during development and testing. +# +record(bo, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") { + field(SCAN, "Passive") + field(PINI, "YES") + field(DTYP, "Soft Channel") + field(VAL, "1") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} + +# Records for reading back the bit descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") { + field(DESC, "Description of bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B00_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") { + field(DESC, "Description of bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B01_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") { + field(DESC, "Description of bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B02_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") { + field(DESC, "Description of bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B03_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") { + field(DESC, "Description of bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B04_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") { + field(DESC, "Description of bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B05_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") { + field(DESC, "Description of bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B06_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") { + field(DESC, "Description of bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B07_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") { + field(DESC, "Description of bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B08_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") { + field(DESC, "Description of bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B09_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") { + field(DESC, "Description of bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B10_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") { + field(DESC, "Description of bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B11_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") { + field(DESC, "Description of bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B12_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") { + field(DESC, "Description of bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B13_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") { + field(DESC, "Description of bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B14_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") { + field(DESC, "Description of bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B15_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15.ONAM") +} + +# end(digitalIn) +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description +# This associates an edm screen with the template +# % gui, VAFAN_01, edmembed, bi_embed.edl, P=SR03C-VA-FANC-01,R=:STA +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-01:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B0 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 01 Fan Status") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description +# This associates an edm screen with the template +# % gui, VAFAN_02, edmembed, bi_embed.edl, P=SR03C-VA-FANC-02,R=:STA +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-02:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B1 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 02 Fan Status") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description +# This associates an edm screen with the template +# % gui, VAFAN_03, edmembed, bi_embed.edl, P=SR03C-VA-FANC-03,R=:STA +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-03:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B2 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 03 Fan Status") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description +# This associates an edm screen with the template +# % gui, VAPSU_01, edmembed, bi_embed.edl, P=SR03C-VA-PSU-01,R=:STA +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-PSU-01:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B3 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 01 Duplex PSU Status") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description +# This associates an edm screen with the template +# % gui, VAPSU_02, edmembed, bi_embed.edl, P=SR03C-VA-PSU-02,R=:STA +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-PSU-02:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B4 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 02 Duplex PSU Status") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# +# This associates BOY screens with the template +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-01:1 +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-01:1 +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-01:1 +# This associates an edm screen with the template +# % gui, PSU01.1, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-01:1 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:1:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[1]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-01:1:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:1:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[1]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[1]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[1]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[1]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[1]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[1]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-01:1:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[1]") + field(ASLO, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# +# This associates BOY screens with the template +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-01:2 +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-01:2 +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-01:2 +# This associates an edm screen with the template +# % gui, PSU01.2, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-01:2 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:2:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[2]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-01:2:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:2:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[2]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[2]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[2]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[2]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[2]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[2]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-01:2:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[2]") + field(ASLO, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# +# This associates BOY screens with the template +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-02:1 +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-02:1 +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-02:1 +# This associates an edm screen with the template +# % gui, PSU02.1, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-02:1 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:1:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[3]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-02:1:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:1:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[3]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[3]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[3]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[3]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[3]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[3]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-02:1:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[3]") + field(ASLO, "0.1") + field(PREC, "1") +} +#! Generated by VisualDCT v2.7.1-SNAPSHOT + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# +# This associates BOY screens with the template +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-02:2 +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-02:2 +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-02:2 +# This associates an edm screen with the template +# % gui, PSU02.2, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-02:2 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:2:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[4]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-02:2:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:2:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[4]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[4]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[4]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[4]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[4]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[4]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-02:2:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[4]") + field(ASLO, "0.1") + field(PREC, "1") +} +# NX102_readBool.template +#% macro, __doc__, Template database for reading a bool from and NX PLC +#% macro, name, Object name and gui association name +#% macro, P, PV prefix +#% macro, desc, Description +#% macro, port, Port name of ether_ip driver +#% macro, tag, Tag name of ether_ip read value +#% macro, scan, Record scan rate +#% macro, onam, ONAM +#% macro, znam, ZNAM + +# Logic is as follows to match old implementation: +# Initial Run IRVAC +# 1 1 0 (Both OK) +# 0 1 2 (Initial Failed) +# 0 0 3 (Both Failed) + +record(bi, "SR03A-VA-VALVE-01:IVAC") { + field(DESC, "Initial Vacuum") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(ONAM, "On") + field(ZNAM, "Off") + field(INP, "@VLVCC_01_EIP Initial_Vacuum") +} + +record(bi, "SR03A-VA-VALVE-01:RVAC") { + field(DESC, "Run Vacuum") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(ONAM, "On") + field(ZNAM, "Off") + field(INP, "@VLVCC_01_EIP Run_Vacuum") +} + +record(calc, "SR03A-VA-VALVE-01:IRVAC") { + field(DESC, "description") + field(CALC, "(!a*2)+(!b*1)") + field(INPA, "SR03A-VA-VALVE-01:IVAC CP") + field(INPB, "SR03A-VA-VALVE-01:RVAC CP") +}#% macro, __doc__, Template that reads 100 blocks of memory into records so +# that it can be used in various templates. +# % macro, device, Device prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, tagidx, Index for the eip tags +# % macro, em, em number in PLC +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 + +# Triggers the waveform read when PLC sets Data_Ready to 1 +record(ai, "SR03C-VA-VFAST-01:DATA_READY") { + field(DTYP, "EtherIP") + field(SCAN, ".1 second") + field(INP, "@VLVCC_01_EIP FVA.Data_Ready[0] S .2") +} + +record(calcout, "SR03C-VA-VFAST-01:TRIGGER_READ") { + field(CALC, "a") + field(INPA, "SR03C-VA-VFAST-01:DATA_READY CP") + field(OOPT, "Transition To Non-zero") + field(OUT, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW.PROC PP") +} + +###################################################### +# Timestamp records +# Timestamp in seconds from PLC +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW") { + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Capture_Time[0] S .2") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP_US_RAW PP") + alias("SR03C-VA-VFAST-01:TRIGGER") +} + + + +# Timestamp in milliseconds from PLC +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP_US_RAW") { + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Capture_Time_us[0] S .2") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP_CALC PP") +} + +# Concatenate timestamp in seconds and milliseconds to create time in float +# Subtract offset between EPICS epoch (1990) and UNIX epoch (1970) +record(calc, "SR03C-VA-VFAST-01:TIMESTAMP_CALC") { + field(DESC, "description") + field(CALC, "(a+(b/1000000))-c") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW") + field(INPB, "SR03C-VA-VFAST-01:TIMESTAMP_US_RAW") + # POSIX_TIME_AT_EPICS_EPOCH + field(C, "631152000") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP PP") +} + +# This record sets its timestamp to its input via devSetTimeStamp +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP") +{ + field(DTYP, "Set Timestamp") + field(INP, "SR03C-VA-VFAST-01:TIMESTAMP_CALC ") + field(TSE, "-2") + field(FLNK,"SR03C-VA-VFAST-01:TIME_RES PP") +} + +# Sample interval from PLC in ms +# % archiver 60 Monitor +record(ai, "SR03C-VA-VFAST-01:TIME_RES") { + field(DESC, "Sample interval from PLC in ms") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Resolution[0] S .2") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(FLNK,"SR03C-VA-VFAST-01:PRE_SAMPLES PP") +} + +# Number of samples in the data that take place before +# the trigger and timestamp +# % archiver 60 Monitor +record(ai, "SR03C-VA-VFAST-01:PRE_SAMPLES") { + field(DESC, "Number of samples before trigger") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Pre_Samples[0] S .2") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + #field(VAL, "500") + field(FLNK,"SR03C-VA-VFAST-01:FAN PP") +} + +# Place holder for linking records +record(fanout, "SR03C-VA-VFAST-01:FAN") { + field(LNK1, "SR03C-VA-VFAST-01:FAN_01 PP") + field(LNK2, "SR03C-VA-VFAST-01:FAN_02 PP") + field(FLNK, "SR03C-VA-VFAST-01:DATA_READY_CLEAR PP") +} +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { +} +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { +} + +# Clear the Data_Ready in the PLC to indicate the data has been read +record(calcout, "SR03C-VA-VFAST-01:DATA_READY_CLEAR") { + field(CALC, "0") + field(OUT, "SR03C-VA-VFAST-01:DATA_READY_CLEAR_W PP") +} + +record(ao, "SR03C-VA-VFAST-01:DATA_READY_CLEAR_W") { + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP FVA.Data_Ready[0] S .2") +} + + +# Records to display in the GUI the timestamp +# Used during commissioning to verify the PLC is sending the correct time +record(aSub, "SR03C-VA-VFAST-01:PLC_TS_CONVERT") { + field(SNAM, "plcTSConverter") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW CP") + field(FTA, "LONG") + field(FTVA, "STRING") + field(OUTA, "SR03C-VA-VFAST-01:PLC_TS_STR PP") +} +record(stringout, "SR03C-VA-VFAST-01:PLC_TS_STR") { +} + +record(calc, "SR03C-VA-VFAST-01:TIMESTAMP_INV_CALC") { + field(DESC, "description") + field(CALC, "a+b") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP CP CP") + # POSIX_TIME_AT_EPICS_EPOCH + field(B, "631152000") +} +record(aSub, "SR03C-VA-VFAST-01:EPICS_TS_CONVERT") { + field(SNAM, "plcTSConverter") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_INV_CALC CP") + field(FTA, "LONG") + field(FTVA, "STRING") + field(OUTA, "SR03C-VA-VFAST-01:EPICS_TS_STR PP") +} +record(stringout, "SR03C-VA-VFAST-01:EPICS_TS_STR") { +} + +# # Global PVs to configure the system +# record(ao, "SR03C-VA-VFAST-01:HYST_MULTI") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:HYST_MULTI_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[0]") +# } + +# record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[0]") +# } + +# record(ao, "SR03C-VA-VFAST-01:AVG_TIME") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:AVG_TIME_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[0]") +# }#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK1, "SR03C-VA-VFAST-01:GAUGE01_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 2) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK2, "SR03C-VA-VFAST-01:GAUGE02_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 6) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK3, "SR03C-VA-VFAST-01:GAUGE03_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 14) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK4, "SR03C-VA-VFAST-01:GAUGE04_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 30) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK5, "SR03C-VA-VFAST-01:GAUGE05_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 62) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK6, "SR03C-VA-VFAST-01:GAUGE06_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 126) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { + field(LNK1, "SR03C-VA-VFAST-01:GAUGE07_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 254) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { + field(LNK2, "SR03C-VA-VFAST-01:GAUGE08_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 510) +} +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 0, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 1000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 1500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 2000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 2500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE01_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE01_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE01_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE01_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE01_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE01_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE01_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE01 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03S-VA-IMG-01:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE01") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[1]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[1]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[1]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL01_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[1]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL01_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL01_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL01") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL01_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL01_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[1]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL01_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL01_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL01") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL01_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 3000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 3500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 4000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 4500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 5000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 5500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE02_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE02_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE02_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE02_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE02_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE02_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE02_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE02 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03S-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE02") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[2]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[2]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[2]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL02_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[2]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL02_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL02_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL02") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL02_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL02_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[2]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL02_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL02_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL02") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL02_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 6000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 6500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 7000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 7500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 8000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 8500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE03_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE03_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE03_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE03_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE03_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE03_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE03_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE03 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-01:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE03") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[3]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[3]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[3]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL03_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[3]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL03_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL03_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL03") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL03_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL03_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[3]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL03_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL03_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL03") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL03_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 9000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 9500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 10000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 10500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 11000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 11500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE04_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE04_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE04_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE04_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE04_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE04_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE04_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE04 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE04") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[4]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[4]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[4]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL04_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[4]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL04_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL04_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL04") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL04_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL04_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[4]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL04_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL04_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL04") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL04_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 12000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 12500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 13000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 13500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 14000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 14500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE05_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE05_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE05_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE05_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE05_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE05_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE05_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE05 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-03:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE05") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[5]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[5]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[5]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL05_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[5]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL05_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL05_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL05") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL05_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL05_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[5]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL05_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL05_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL05") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL05_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 15000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 15500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 16000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 16500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 17000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 17500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE06_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE06_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE06_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE06_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE06_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE06_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE06_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE06 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-04:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE06") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[6]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[6]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[6]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL06_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[6]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL06_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL06_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL06") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL06_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL06_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[6]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL06_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL06_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL06") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL06_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 18000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 18500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 19000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 19500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 20000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 20500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE07_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE07_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE07_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE07_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE07_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE07_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE07_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE07 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03I-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE07") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[7]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[7]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[7]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL07_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[7]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL07_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL07_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL07") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL07_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL07_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[7]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL07_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL07_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL07") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL07_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 21000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 21500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 22000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 22500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 23000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 23500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE08_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE08_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE08_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE08_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE08_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE08_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE08_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE08 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03I-VA-IMG-03:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE08") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[8]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[8]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[8]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL08_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[8]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL08_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL08_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL08") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL08_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL08_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[8]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL08_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL08_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL08") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL08_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +# TerminalServer16.template +# Common terminal server template +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, name, object and gui association name +# % gui, TSERV1, edm, sixteenChannel.edl, P=SR03C-VA-TSERV-01 + +# Poll all the infrequently changing status occasionally +record(seq, "SR03C-VA-TSERV-01:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:WHICHPOLL") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:1:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:2:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:3:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:4:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:5:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:6:POLL.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:7:POLL.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:8:POLL.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-01:9:POLL.PROC") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPORT2") +} +record(seq, "SR03C-VA-TSERV-01:WHICHPORT2") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:WHICHPOLL2") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:10:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:11:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:12:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:13:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:14:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:15:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:16:POLL.PROC") +} +record(longout, "SR03C-VA-TSERV-01:WHICHPOLL") +{ + field(VAL, "1") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPOLL2") +} +record(calc, "SR03C-VA-TSERV-01:WHICHPOLL2") +{ + field(INPA, "SR03C-VA-TSERV-01:WHICHPOLL") + field(CALC, "A-10") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPORT") +} +record(calcout, "SR03C-VA-TSERV-01:NEXTPOLL") +{ + field(SCAN, "5 second") + field(INPA, "SR03C-VA-TSERV-01:WHICHPOLL") + field(CALC, "A<=16?A+1:1") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03C-VA-TSERV-01:WHICHPOLL.VAL PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(seq, "SR03C-VA-TSERV-01:1:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:2:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:3:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:4:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:5:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:6:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:7:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:8:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:9:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:10:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:11:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:12:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:13:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:14:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:15:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:16:POLL") +{ + field(SELM, "All") +} + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:MODELNAME.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:SERIALNUMBER.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:FWVERSION.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:IPADDRESS.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:SERVERNAME.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:SERVERLOC.PROC") +} + +# Store and restart command. + +record(sseq, "SR03C-VA-TSERV-01:SAVEANDRESTART") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(bo, "SR03C-VA-TSERV-01:SNMPBUSY") +{ + field(DESC, "Indicates that SNMP is busy") + field(ZNAM, "Ready") + field(ONAM, "Busy") +} + +# Global upload + +record(seq, "SR03C-VA-TSERV-01:DOREAD") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:1:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:2:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:3:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:4:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:5:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:6:DOREAD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:7:DOREAD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:8:DOREAD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:9:DOREAD.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-01:10:DOREAD.PROC") + field(FLNK, "SR03C-VA-TSERV-01:DOREAD2") +} +record(seq, "SR03C-VA-TSERV-01:DOREAD2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:11:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:12:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:13:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:14:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:15:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:16:DOREAD.PROC") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOREAD") +{ + field(SELM, "All") +} + +# TerminalServer16.template +# Common terminal server template +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, name, object and gui association name +# % gui, TSERV2, edm, sixteenChannel.edl, P=SR03C-VA-TSERV-02 + +# Poll all the infrequently changing status occasionally +record(seq, "SR03C-VA-TSERV-02:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:WHICHPOLL") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:1:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:2:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:3:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:4:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:5:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:6:POLL.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:7:POLL.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:8:POLL.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-02:9:POLL.PROC") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPORT2") +} +record(seq, "SR03C-VA-TSERV-02:WHICHPORT2") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:WHICHPOLL2") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:10:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:11:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:12:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:13:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:14:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:15:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:16:POLL.PROC") +} +record(longout, "SR03C-VA-TSERV-02:WHICHPOLL") +{ + field(VAL, "1") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPOLL2") +} +record(calc, "SR03C-VA-TSERV-02:WHICHPOLL2") +{ + field(INPA, "SR03C-VA-TSERV-02:WHICHPOLL") + field(CALC, "A-10") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPORT") +} +record(calcout, "SR03C-VA-TSERV-02:NEXTPOLL") +{ + field(SCAN, "5 second") + field(INPA, "SR03C-VA-TSERV-02:WHICHPOLL") + field(CALC, "A<=16?A+1:1") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03C-VA-TSERV-02:WHICHPOLL.VAL PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(seq, "SR03C-VA-TSERV-02:1:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:2:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:3:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:4:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:5:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:6:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:7:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:8:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:9:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:10:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:11:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:12:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:13:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:14:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:15:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:16:POLL") +{ + field(SELM, "All") +} + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:MODELNAME.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:SERIALNUMBER.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:FWVERSION.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:IPADDRESS.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:SERVERNAME.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:SERVERLOC.PROC") +} + +# Store and restart command. + +record(sseq, "SR03C-VA-TSERV-02:SAVEANDRESTART") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(bo, "SR03C-VA-TSERV-02:SNMPBUSY") +{ + field(DESC, "Indicates that SNMP is busy") + field(ZNAM, "Ready") + field(ONAM, "Busy") +} + +# Global upload + +record(seq, "SR03C-VA-TSERV-02:DOREAD") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:1:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:2:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:3:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:4:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:5:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:6:DOREAD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:7:DOREAD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:8:DOREAD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:9:DOREAD.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-02:10:DOREAD.PROC") + field(FLNK, "SR03C-VA-TSERV-02:DOREAD2") +} +record(seq, "SR03C-VA-TSERV-02:DOREAD2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:11:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:12:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:13:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:14:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:15:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:16:DOREAD.PROC") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOREAD") +{ + field(SELM, "All") +} + +# Moxa.template +# Moxa system information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_top, boyembed, terminalServerApp_opi/terminalServer.opi, P=SR03C-VA-TSERV-01, name=TSERV1_top + +# Store and restart commands, write a '1' to these records to activate. +# The SNMP agent blocks for up 30s while one of these executes, so we +# disable all polling for the duration. + +record(longout, "SR03C-VA-TSERV-01:DOSAVE") +{ + field(DESC, "Save config" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.7.1.0" ) +} + +record(longout, "SR03C-VA-TSERV-01:DORESTART") +{ + field(DESC, "Restart device" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.8.2.0" ) +} + +# Status + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:MODELNAME") +{ + field(DESC, "Model name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(longin, "SR03C-VA-TSERV-01:SERIALNUMBER") +{ + field(DESC, "Serial number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:FWVERSION") +{ + field(DESC, "Firmware version" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.3.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:IPADDRESS") +{ + field(DESC, "IPv4 address" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.10.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:SERVERNAME") +{ + field(DESC, "Server name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:SERVERLOC") +{ + field(DESC, "Server location" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +# Moxa.template +# Moxa system information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_top, boyembed, terminalServerApp_opi/terminalServer.opi, P=SR03C-VA-TSERV-02, name=TSERV2_top + +# Store and restart commands, write a '1' to these records to activate. +# The SNMP agent blocks for up 30s while one of these executes, so we +# disable all polling for the duration. + +record(longout, "SR03C-VA-TSERV-02:DOSAVE") +{ + field(DESC, "Save config" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.7.1.0" ) +} + +record(longout, "SR03C-VA-TSERV-02:DORESTART") +{ + field(DESC, "Restart device" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.8.2.0" ) +} + +# Status + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:MODELNAME") +{ + field(DESC, "Model name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(longin, "SR03C-VA-TSERV-02:SERIALNUMBER") +{ + field(DESC, "Serial number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:FWVERSION") +{ + field(DESC, "Firmware version" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.3.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:IPADDRESS") +{ + field(DESC, "IPv4 address" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.10.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:SERVERNAME") +{ + field(DESC, "Server name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:SERVERLOC") +{ + field(DESC, "Server location" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_1, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=1, name=TSERV1_1 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:1:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:1:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:1:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:1:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:1:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:1:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:1:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:1:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:1:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:1:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:1:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:1:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:1:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:1:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:1:PORT") + field(LNK2, "SR03C-VA-TSERV-01:1:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:1:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:1:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:1:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:1:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:1:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:1:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:1:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:1:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:1:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:1:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:1:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +record(longin, "SR03C-VA-TSERV-01:1:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:1:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:1:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:1:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:1:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:1:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:1:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:1:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:1:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:1:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:1:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:1:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:1:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:1:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:1:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:1:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:1:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:1:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:1:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:1:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:1:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.1" ) +} +record(calcout, "SR03C-VA-TSERV-01:1:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:1:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:1:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:1:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:1:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:1:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:1:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:1:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:1:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:1:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:1:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:1:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:1:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:1:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:1:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:1:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:1:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:1:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:1:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:1:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:1:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:1:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:1:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:1:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:1:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:1:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:1:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:1:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.1.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:1:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:1:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_2, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=2, name=TSERV1_2 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:2:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:2:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:2:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:2:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:2:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:2:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:2:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:2:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:2:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:2:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:2:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:2:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:2:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:2:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:2:PORT") + field(LNK2, "SR03C-VA-TSERV-01:2:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:2:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:2:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:2:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:2:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:2:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:2:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:2:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:2:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:2:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:2:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:2:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +record(longin, "SR03C-VA-TSERV-01:2:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:2:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:2:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:2:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:2:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:2:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:2:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:2:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:2:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:2:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:2:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:2:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:2:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:2:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:2:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:2:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:2:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:2:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:2:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:2:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:2:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.2" ) +} +record(calcout, "SR03C-VA-TSERV-01:2:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:2:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:2:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:2:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:2:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:2:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:2:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:2:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:2:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:2:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:2:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:2:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:2:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:2:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:2:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:2:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:2:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:2:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:2:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:2:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:2:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:2:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:2:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:2:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:2:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:2:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:2:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:2:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.2.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:2:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:2:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_3, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=3, name=TSERV1_3 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:3:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:3:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:3:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:3:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:3:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:3:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:3:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:3:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:3:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:3:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:3:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:3:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:3:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:3:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:3:PORT") + field(LNK2, "SR03C-VA-TSERV-01:3:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:3:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:3:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:3:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:3:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:3:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:3:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:3:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:3:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:3:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:3:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:3:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +record(longin, "SR03C-VA-TSERV-01:3:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:3:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:3:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:3:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:3:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:3:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:3:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:3:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:3:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:3:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:3:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:3:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:3:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:3:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:3:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:3:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:3:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:3:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:3:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:3:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:3:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.3" ) +} +record(calcout, "SR03C-VA-TSERV-01:3:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:3:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:3:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:3:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:3:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:3:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:3:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:3:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:3:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:3:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:3:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:3:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:3:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:3:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:3:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:3:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:3:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:3:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:3:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:3:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:3:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:3:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:3:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:3:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:3:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:3:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:3:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:3:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.3.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:3:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:3:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_4, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=4, name=TSERV1_4 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:4:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:4:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:4:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:4:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:4:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:4:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:4:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:4:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:4:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:4:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:4:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:4:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:4:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:4:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:4:PORT") + field(LNK2, "SR03C-VA-TSERV-01:4:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:4:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:4:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:4:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:4:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:4:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:4:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:4:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:4:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:4:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:4:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:4:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +record(longin, "SR03C-VA-TSERV-01:4:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:4:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:4:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:4:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:4:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:4:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:4:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:4:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:4:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:4:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:4:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:4:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:4:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:4:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:4:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:4:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:4:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:4:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:4:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:4:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:4:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.4" ) +} +record(calcout, "SR03C-VA-TSERV-01:4:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:4:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:4:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:4:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:4:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:4:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:4:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:4:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:4:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:4:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:4:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:4:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:4:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:4:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:4:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:4:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:4:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:4:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:4:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:4:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:4:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:4:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:4:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:4:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:4:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:4:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:4:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:4:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.4.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:4:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:4:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_5, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=5, name=TSERV1_5 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:5:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:5:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:5:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:5:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:5:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:5:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:5:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:5:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:5:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:5:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:5:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:5:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:5:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:5:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:5:PORT") + field(LNK2, "SR03C-VA-TSERV-01:5:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:5:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:5:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:5:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:5:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:5:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:5:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:5:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:5:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:5:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:5:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:5:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +record(longin, "SR03C-VA-TSERV-01:5:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:5:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:5:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:5:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:5:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:5:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:5:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:5:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:5:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:5:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:5:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:5:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:5:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:5:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:5:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:5:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:5:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:5:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:5:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:5:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:5:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.5" ) +} +record(calcout, "SR03C-VA-TSERV-01:5:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:5:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:5:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:5:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:5:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:5:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:5:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:5:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:5:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:5:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:5:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:5:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:5:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:5:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:5:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:5:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:5:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:5:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:5:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:5:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:5:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:5:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:5:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:5:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:5:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:5:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:5:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:5:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.5.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:5:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:5:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_6, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=6, name=TSERV1_6 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:6:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:6:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:6:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:6:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:6:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:6:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:6:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:6:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:6:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:6:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:6:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:6:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:6:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:6:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:6:PORT") + field(LNK2, "SR03C-VA-TSERV-01:6:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:6:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:6:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:6:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:6:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:6:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:6:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:6:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:6:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:6:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:6:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:6:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +record(longin, "SR03C-VA-TSERV-01:6:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:6:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:6:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:6:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:6:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:6:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:6:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:6:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:6:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:6:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:6:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:6:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:6:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:6:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:6:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:6:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:6:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:6:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:6:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:6:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:6:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.6" ) +} +record(calcout, "SR03C-VA-TSERV-01:6:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:6:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:6:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:6:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:6:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:6:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:6:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:6:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:6:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:6:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:6:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:6:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:6:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:6:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:6:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:6:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:6:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:6:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:6:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:6:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:6:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:6:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:6:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:6:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:6:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:6:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:6:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:6:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.6.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:6:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:6:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_7, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=7, name=TSERV1_7 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:7:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:7:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:7:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:7:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:7:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:7:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:7:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:7:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:7:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:7:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:7:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:7:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:7:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:7:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:7:PORT") + field(LNK2, "SR03C-VA-TSERV-01:7:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:7:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:7:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:7:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:7:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:7:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:7:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:7:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:7:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:7:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:7:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:7:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +record(longin, "SR03C-VA-TSERV-01:7:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:7:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:7:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:7:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:7:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:7:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:7:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:7:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:7:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:7:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:7:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:7:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:7:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:7:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:7:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:7:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:7:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:7:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:7:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:7:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:7:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.7" ) +} +record(calcout, "SR03C-VA-TSERV-01:7:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:7:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:7:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:7:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:7:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:7:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:7:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:7:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:7:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:7:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:7:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:7:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:7:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:7:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:7:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:7:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:7:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:7:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:7:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:7:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:7:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:7:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:7:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:7:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:7:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:7:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:7:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:7:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.7.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:7:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:7:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_8, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=8, name=TSERV1_8 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:8:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:8:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:8:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:8:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:8:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:8:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:8:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:8:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:8:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:8:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:8:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:8:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:8:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:8:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:8:PORT") + field(LNK2, "SR03C-VA-TSERV-01:8:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:8:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:8:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:8:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:8:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:8:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:8:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:8:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:8:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:8:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:8:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:8:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +record(longin, "SR03C-VA-TSERV-01:8:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:8:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:8:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:8:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:8:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:8:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:8:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:8:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:8:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:8:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:8:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:8:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:8:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:8:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:8:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:8:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:8:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:8:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:8:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:8:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:8:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.8" ) +} +record(calcout, "SR03C-VA-TSERV-01:8:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:8:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:8:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:8:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:8:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:8:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:8:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:8:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:8:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:8:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:8:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:8:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:8:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:8:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:8:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:8:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:8:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:8:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:8:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:8:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:8:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:8:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:8:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:8:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:8:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:8:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:8:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:8:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.8.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:8:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:8:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_9, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=9, name=TSERV1_9 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:9:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:9:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:9:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:9:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:9:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:9:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:9:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:9:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:9:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:9:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:9:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:9:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:9:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:9:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:9:PORT") + field(LNK2, "SR03C-VA-TSERV-01:9:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:9:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:9:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:9:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:9:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:9:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:9:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:9:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:9:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:9:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:9:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:9:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +record(longin, "SR03C-VA-TSERV-01:9:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:9:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:9:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:9:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:9:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:9:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:9:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:9:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:9:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:9:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:9:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:9:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:9:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:9:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:9:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:9:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:9:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:9:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:9:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:9:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:9:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.9" ) +} +record(calcout, "SR03C-VA-TSERV-01:9:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:9:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:9:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:9:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:9:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:9:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:9:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:9:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:9:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:9:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:9:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:9:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:9:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:9:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:9:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:9:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:9:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:9:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:9:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:9:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:9:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:9:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:9:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:9:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:9:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:9:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:9:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:9:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.9.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:9:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:9:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_10, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=10, name=TSERV1_10 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:10:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:10:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:10:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:10:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:10:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:10:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:10:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:10:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:10:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:10:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:10:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:10:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:10:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:10:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:10:PORT") + field(LNK2, "SR03C-VA-TSERV-01:10:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:10:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:10:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:10:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:10:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:10:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:10:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:10:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:10:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:10:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:10:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:10:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +record(longin, "SR03C-VA-TSERV-01:10:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:10:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:10:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:10:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:10:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:10:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:10:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:10:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:10:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:10:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:10:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:10:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:10:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:10:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:10:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:10:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:10:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:10:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:10:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:10:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:10:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.10" ) +} +record(calcout, "SR03C-VA-TSERV-01:10:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:10:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:10:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:10:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:10:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:10:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:10:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:10:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:10:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:10:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:10:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:10:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:10:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:10:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:10:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:10:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:10:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:10:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:10:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:10:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:10:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:10:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:10:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:10:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:10:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:10:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:10:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:10:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.10.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:10:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:10:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_11, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=11, name=TSERV1_11 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:11:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:11:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:11:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:11:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:11:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:11:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:11:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:11:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:11:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:11:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:11:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:11:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:11:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:11:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:11:PORT") + field(LNK2, "SR03C-VA-TSERV-01:11:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:11:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:11:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:11:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:11:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:11:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:11:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:11:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:11:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:11:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:11:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:11:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +record(longin, "SR03C-VA-TSERV-01:11:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:11:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:11:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:11:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:11:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:11:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:11:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:11:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:11:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:11:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:11:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:11:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:11:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:11:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:11:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:11:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:11:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:11:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:11:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:11:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:11:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.11" ) +} +record(calcout, "SR03C-VA-TSERV-01:11:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:11:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:11:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:11:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:11:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:11:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:11:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:11:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:11:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:11:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:11:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:11:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:11:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:11:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:11:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:11:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:11:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:11:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:11:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:11:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:11:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:11:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:11:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:11:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:11:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:11:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:11:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:11:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.11.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:11:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:11:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_12, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=12, name=TSERV1_12 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:12:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:12:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:12:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:12:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:12:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:12:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:12:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:12:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:12:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:12:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:12:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:12:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:12:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:12:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:12:PORT") + field(LNK2, "SR03C-VA-TSERV-01:12:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:12:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:12:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:12:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:12:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:12:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:12:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:12:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:12:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:12:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:12:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:12:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +record(longin, "SR03C-VA-TSERV-01:12:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:12:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:12:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:12:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:12:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:12:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:12:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:12:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:12:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:12:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:12:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:12:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:12:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:12:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:12:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:12:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:12:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:12:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:12:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:12:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:12:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.12" ) +} +record(calcout, "SR03C-VA-TSERV-01:12:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:12:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:12:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:12:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:12:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:12:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:12:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:12:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:12:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:12:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:12:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:12:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:12:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:12:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:12:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:12:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:12:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:12:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:12:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:12:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:12:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:12:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:12:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:12:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:12:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:12:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:12:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:12:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.12.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:12:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:12:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_13, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=13, name=TSERV1_13 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:13:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:13:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:13:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:13:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:13:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:13:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:13:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:13:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:13:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:13:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:13:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:13:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:13:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:13:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:13:PORT") + field(LNK2, "SR03C-VA-TSERV-01:13:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:13:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:13:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:13:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:13:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:13:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:13:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:13:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:13:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:13:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:13:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:13:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +record(longin, "SR03C-VA-TSERV-01:13:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:13:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:13:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:13:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:13:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:13:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:13:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:13:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:13:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:13:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:13:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:13:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:13:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:13:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:13:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:13:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:13:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:13:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:13:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:13:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:13:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.13" ) +} +record(calcout, "SR03C-VA-TSERV-01:13:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:13:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:13:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:13:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:13:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:13:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:13:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:13:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:13:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:13:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:13:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:13:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:13:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:13:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:13:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:13:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:13:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:13:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:13:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:13:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:13:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:13:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:13:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:13:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:13:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:13:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:13:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:13:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.13.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:13:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:13:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_14, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=14, name=TSERV1_14 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:14:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:14:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:14:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:14:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:14:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:14:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:14:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:14:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:14:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:14:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:14:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:14:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:14:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:14:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:14:PORT") + field(LNK2, "SR03C-VA-TSERV-01:14:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:14:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:14:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:14:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:14:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:14:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:14:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:14:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:14:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:14:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:14:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:14:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +record(longin, "SR03C-VA-TSERV-01:14:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:14:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:14:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:14:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:14:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:14:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:14:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:14:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:14:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:14:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:14:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:14:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:14:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:14:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:14:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:14:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:14:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:14:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:14:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:14:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:14:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.14" ) +} +record(calcout, "SR03C-VA-TSERV-01:14:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:14:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:14:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:14:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:14:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:14:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:14:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:14:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:14:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:14:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:14:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:14:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:14:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:14:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:14:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:14:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:14:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:14:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:14:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:14:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:14:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:14:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:14:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:14:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:14:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:14:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:14:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:14:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.14.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:14:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:14:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_15, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=15, name=TSERV1_15 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:15:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:15:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:15:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:15:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:15:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:15:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:15:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:15:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:15:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:15:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:15:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:15:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:15:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:15:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:15:PORT") + field(LNK2, "SR03C-VA-TSERV-01:15:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:15:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:15:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:15:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:15:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:15:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:15:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:15:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:15:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:15:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:15:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:15:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +record(longin, "SR03C-VA-TSERV-01:15:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:15:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:15:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:15:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:15:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:15:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:15:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:15:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:15:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:15:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:15:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:15:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:15:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:15:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:15:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:15:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:15:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:15:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:15:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:15:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:15:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.15" ) +} +record(calcout, "SR03C-VA-TSERV-01:15:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:15:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:15:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:15:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:15:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:15:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:15:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:15:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:15:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:15:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:15:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:15:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:15:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:15:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:15:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:15:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:15:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:15:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:15:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:15:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:15:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:15:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:15:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:15:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:15:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:15:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:15:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:15:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.15.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:15:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:15:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_16, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=16, name=TSERV1_16 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:16:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:16:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:16:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:16:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:16:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:16:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:16:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:16:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:16:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:16:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:16:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:16:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:16:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:16:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:16:PORT") + field(LNK2, "SR03C-VA-TSERV-01:16:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:16:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:16:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:16:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:16:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:16:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:16:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:16:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:16:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:16:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:16:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:16:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +record(longin, "SR03C-VA-TSERV-01:16:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:16:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:16:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:16:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:16:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:16:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:16:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:16:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:16:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:16:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:16:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:16:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:16:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:16:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:16:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:16:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:16:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:16:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:16:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:16:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:16:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.16" ) +} +record(calcout, "SR03C-VA-TSERV-01:16:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:16:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:16:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:16:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:16:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:16:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:16:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:16:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:16:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:16:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:16:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:16:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:16:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:16:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:16:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:16:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:16:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:16:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:16:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:16:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:16:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:16:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:16:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:16:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:16:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:16:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:16:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:16:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.16.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:16:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:16:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_1, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=1, name=TSERV2_1 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:1:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:1:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:1:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:1:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:1:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:1:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:1:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:1:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:1:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:1:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:1:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:1:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:1:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:1:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:1:PORT") + field(LNK2, "SR03C-VA-TSERV-02:1:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:1:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:1:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:1:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:1:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:1:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:1:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:1:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:1:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:1:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:1:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:1:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +record(longin, "SR03C-VA-TSERV-02:1:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:1:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:1:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:1:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:1:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:1:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:1:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:1:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:1:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:1:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:1:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:1:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:1:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:1:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:1:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:1:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:1:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:1:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:1:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:1:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:1:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.1" ) +} +record(calcout, "SR03C-VA-TSERV-02:1:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:1:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:1:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:1:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:1:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:1:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:1:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:1:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:1:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:1:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:1:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:1:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:1:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:1:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:1:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:1:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:1:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:1:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:1:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:1:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:1:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:1:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:1:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:1:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:1:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:1:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:1:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:1:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.1.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:1:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:1:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_2, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=2, name=TSERV2_2 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:2:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:2:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:2:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:2:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:2:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:2:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:2:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:2:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:2:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:2:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:2:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:2:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:2:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:2:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:2:PORT") + field(LNK2, "SR03C-VA-TSERV-02:2:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:2:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:2:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:2:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:2:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:2:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:2:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:2:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:2:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:2:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:2:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:2:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +record(longin, "SR03C-VA-TSERV-02:2:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:2:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:2:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:2:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:2:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:2:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:2:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:2:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:2:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:2:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:2:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:2:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:2:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:2:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:2:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:2:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:2:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:2:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:2:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:2:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:2:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.2" ) +} +record(calcout, "SR03C-VA-TSERV-02:2:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:2:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:2:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:2:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:2:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:2:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:2:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:2:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:2:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:2:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:2:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:2:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:2:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:2:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:2:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:2:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:2:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:2:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:2:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:2:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:2:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:2:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:2:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:2:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:2:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:2:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:2:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:2:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.2.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:2:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:2:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_3, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=3, name=TSERV2_3 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:3:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:3:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:3:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:3:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:3:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:3:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:3:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:3:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:3:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:3:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:3:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:3:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:3:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:3:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:3:PORT") + field(LNK2, "SR03C-VA-TSERV-02:3:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:3:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:3:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:3:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:3:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:3:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:3:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:3:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:3:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:3:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:3:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:3:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +record(longin, "SR03C-VA-TSERV-02:3:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:3:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:3:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:3:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:3:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:3:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:3:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:3:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:3:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:3:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:3:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:3:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:3:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:3:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:3:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:3:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:3:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:3:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:3:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:3:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:3:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.3" ) +} +record(calcout, "SR03C-VA-TSERV-02:3:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:3:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:3:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:3:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:3:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:3:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:3:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:3:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:3:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:3:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:3:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:3:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:3:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:3:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:3:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:3:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:3:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:3:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:3:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:3:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:3:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:3:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:3:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:3:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:3:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:3:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:3:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:3:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.3.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:3:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:3:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_4, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=4, name=TSERV2_4 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:4:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:4:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:4:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:4:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:4:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:4:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:4:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:4:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:4:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:4:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:4:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:4:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:4:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:4:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:4:PORT") + field(LNK2, "SR03C-VA-TSERV-02:4:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:4:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:4:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:4:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:4:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:4:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:4:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:4:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:4:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:4:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:4:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:4:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +record(longin, "SR03C-VA-TSERV-02:4:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:4:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:4:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:4:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:4:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:4:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:4:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:4:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:4:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:4:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:4:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:4:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:4:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:4:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:4:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:4:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:4:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:4:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:4:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:4:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:4:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.4" ) +} +record(calcout, "SR03C-VA-TSERV-02:4:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:4:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:4:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:4:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:4:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:4:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:4:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:4:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:4:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:4:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:4:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:4:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:4:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:4:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:4:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:4:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:4:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:4:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:4:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:4:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:4:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:4:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:4:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:4:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:4:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:4:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:4:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:4:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.4.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:4:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:4:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_5, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=5, name=TSERV2_5 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:5:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:5:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:5:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:5:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:5:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:5:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:5:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:5:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:5:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:5:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:5:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:5:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:5:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:5:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:5:PORT") + field(LNK2, "SR03C-VA-TSERV-02:5:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:5:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:5:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:5:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:5:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:5:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:5:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:5:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:5:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:5:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:5:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:5:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +record(longin, "SR03C-VA-TSERV-02:5:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:5:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:5:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:5:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:5:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:5:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:5:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:5:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:5:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:5:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:5:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:5:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:5:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:5:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:5:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:5:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:5:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:5:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:5:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:5:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:5:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.5" ) +} +record(calcout, "SR03C-VA-TSERV-02:5:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:5:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:5:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:5:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:5:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:5:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:5:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:5:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:5:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:5:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:5:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:5:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:5:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:5:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:5:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:5:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:5:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:5:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:5:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:5:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:5:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:5:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:5:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:5:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:5:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:5:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:5:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:5:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.5.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:5:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:5:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_6, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=6, name=TSERV2_6 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:6:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:6:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:6:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:6:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:6:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:6:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:6:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:6:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:6:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:6:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:6:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:6:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:6:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:6:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:6:PORT") + field(LNK2, "SR03C-VA-TSERV-02:6:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:6:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:6:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:6:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:6:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:6:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:6:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:6:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:6:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:6:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:6:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:6:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +record(longin, "SR03C-VA-TSERV-02:6:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:6:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:6:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:6:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:6:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:6:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:6:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:6:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:6:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:6:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:6:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:6:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:6:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:6:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:6:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:6:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:6:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:6:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:6:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:6:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:6:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.6" ) +} +record(calcout, "SR03C-VA-TSERV-02:6:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:6:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:6:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:6:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:6:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:6:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:6:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:6:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:6:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:6:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:6:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:6:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:6:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:6:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:6:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:6:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:6:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:6:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:6:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:6:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:6:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:6:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:6:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:6:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:6:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:6:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:6:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:6:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.6.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:6:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:6:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_7, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=7, name=TSERV2_7 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:7:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:7:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:7:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:7:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:7:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:7:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:7:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:7:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:7:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:7:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:7:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:7:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:7:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:7:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:7:PORT") + field(LNK2, "SR03C-VA-TSERV-02:7:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:7:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:7:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:7:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:7:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:7:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:7:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:7:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:7:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:7:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:7:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:7:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +record(longin, "SR03C-VA-TSERV-02:7:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:7:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:7:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:7:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:7:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:7:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:7:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:7:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:7:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:7:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:7:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:7:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:7:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:7:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:7:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:7:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:7:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:7:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:7:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:7:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:7:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.7" ) +} +record(calcout, "SR03C-VA-TSERV-02:7:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:7:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:7:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:7:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:7:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:7:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:7:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:7:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:7:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:7:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:7:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:7:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:7:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:7:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:7:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:7:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:7:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:7:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:7:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:7:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:7:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:7:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:7:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:7:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:7:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:7:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:7:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:7:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.7.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:7:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:7:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_8, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=8, name=TSERV2_8 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:8:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:8:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:8:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:8:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:8:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:8:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:8:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:8:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:8:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:8:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:8:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:8:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:8:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:8:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:8:PORT") + field(LNK2, "SR03C-VA-TSERV-02:8:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:8:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:8:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:8:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:8:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:8:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:8:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:8:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:8:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:8:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:8:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:8:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +record(longin, "SR03C-VA-TSERV-02:8:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:8:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:8:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:8:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:8:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:8:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:8:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:8:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:8:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:8:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:8:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:8:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:8:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:8:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:8:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:8:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:8:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:8:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:8:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:8:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:8:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.8" ) +} +record(calcout, "SR03C-VA-TSERV-02:8:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:8:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:8:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:8:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:8:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:8:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:8:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:8:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:8:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:8:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:8:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:8:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:8:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:8:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:8:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:8:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:8:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:8:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:8:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:8:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:8:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:8:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:8:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:8:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:8:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:8:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:8:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:8:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.8.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:8:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:8:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_9, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=9, name=TSERV2_9 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:9:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:9:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:9:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:9:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:9:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:9:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:9:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:9:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:9:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:9:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:9:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:9:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:9:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:9:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:9:PORT") + field(LNK2, "SR03C-VA-TSERV-02:9:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:9:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:9:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:9:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:9:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:9:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:9:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:9:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:9:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:9:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:9:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:9:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +record(longin, "SR03C-VA-TSERV-02:9:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:9:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:9:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:9:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:9:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:9:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:9:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:9:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:9:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:9:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:9:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:9:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:9:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:9:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:9:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:9:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:9:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:9:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:9:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:9:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:9:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.9" ) +} +record(calcout, "SR03C-VA-TSERV-02:9:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:9:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:9:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:9:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:9:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:9:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:9:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:9:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:9:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:9:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:9:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:9:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:9:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:9:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:9:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:9:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:9:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:9:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:9:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:9:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:9:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:9:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:9:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:9:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:9:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:9:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:9:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:9:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.9.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:9:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:9:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_10, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=10, name=TSERV2_10 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:10:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:10:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:10:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:10:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:10:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:10:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:10:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:10:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:10:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:10:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:10:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:10:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:10:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:10:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:10:PORT") + field(LNK2, "SR03C-VA-TSERV-02:10:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:10:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:10:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:10:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:10:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:10:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:10:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:10:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:10:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:10:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:10:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:10:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +record(longin, "SR03C-VA-TSERV-02:10:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:10:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:10:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:10:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:10:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:10:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:10:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:10:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:10:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:10:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:10:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:10:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:10:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:10:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:10:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:10:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:10:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:10:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:10:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:10:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:10:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.10" ) +} +record(calcout, "SR03C-VA-TSERV-02:10:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:10:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:10:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:10:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:10:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:10:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:10:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:10:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:10:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:10:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:10:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:10:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:10:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:10:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:10:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:10:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:10:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:10:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:10:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:10:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:10:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:10:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:10:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:10:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:10:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:10:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:10:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:10:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.10.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:10:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:10:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_11, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=11, name=TSERV2_11 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:11:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:11:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:11:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:11:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:11:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:11:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:11:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:11:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:11:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:11:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:11:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:11:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:11:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:11:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:11:PORT") + field(LNK2, "SR03C-VA-TSERV-02:11:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:11:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:11:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:11:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:11:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:11:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:11:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:11:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:11:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:11:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:11:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:11:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +record(longin, "SR03C-VA-TSERV-02:11:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:11:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:11:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:11:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:11:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:11:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:11:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:11:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:11:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:11:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:11:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:11:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:11:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:11:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:11:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:11:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:11:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:11:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:11:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:11:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:11:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.11" ) +} +record(calcout, "SR03C-VA-TSERV-02:11:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:11:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:11:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:11:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:11:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:11:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:11:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:11:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:11:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:11:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:11:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:11:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:11:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:11:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:11:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:11:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:11:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:11:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:11:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:11:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:11:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:11:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:11:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:11:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:11:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:11:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:11:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:11:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.11.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:11:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:11:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_12, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=12, name=TSERV2_12 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:12:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:12:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:12:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:12:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:12:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:12:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:12:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:12:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:12:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:12:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:12:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:12:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:12:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:12:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:12:PORT") + field(LNK2, "SR03C-VA-TSERV-02:12:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:12:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:12:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:12:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:12:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:12:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:12:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:12:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:12:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:12:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:12:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:12:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +record(longin, "SR03C-VA-TSERV-02:12:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:12:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:12:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:12:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:12:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:12:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:12:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:12:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:12:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:12:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:12:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:12:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:12:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:12:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:12:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:12:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:12:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:12:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:12:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:12:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:12:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.12" ) +} +record(calcout, "SR03C-VA-TSERV-02:12:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:12:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:12:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:12:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:12:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:12:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:12:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:12:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:12:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:12:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:12:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:12:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:12:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:12:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:12:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:12:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:12:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:12:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:12:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:12:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:12:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:12:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:12:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:12:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:12:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:12:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:12:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:12:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.12.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:12:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:12:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_13, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=13, name=TSERV2_13 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:13:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:13:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:13:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:13:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:13:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:13:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:13:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:13:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:13:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:13:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:13:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:13:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:13:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:13:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:13:PORT") + field(LNK2, "SR03C-VA-TSERV-02:13:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:13:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:13:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:13:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:13:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:13:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:13:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:13:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:13:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:13:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:13:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:13:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +record(longin, "SR03C-VA-TSERV-02:13:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:13:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:13:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:13:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:13:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:13:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:13:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:13:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:13:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:13:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:13:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:13:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:13:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:13:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:13:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:13:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:13:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:13:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:13:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:13:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:13:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.13" ) +} +record(calcout, "SR03C-VA-TSERV-02:13:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:13:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:13:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:13:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:13:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:13:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:13:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:13:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:13:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:13:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:13:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:13:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:13:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:13:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:13:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:13:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:13:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:13:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:13:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:13:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:13:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:13:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:13:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:13:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:13:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:13:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:13:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:13:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.13.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:13:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:13:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_14, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=14, name=TSERV2_14 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:14:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:14:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:14:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:14:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:14:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:14:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:14:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:14:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:14:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:14:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:14:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:14:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:14:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:14:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:14:PORT") + field(LNK2, "SR03C-VA-TSERV-02:14:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:14:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:14:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:14:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:14:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:14:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:14:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:14:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:14:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:14:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:14:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:14:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +record(longin, "SR03C-VA-TSERV-02:14:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:14:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:14:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:14:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:14:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:14:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:14:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:14:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:14:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:14:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:14:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:14:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:14:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:14:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:14:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:14:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:14:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:14:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:14:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:14:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:14:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.14" ) +} +record(calcout, "SR03C-VA-TSERV-02:14:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:14:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:14:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:14:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:14:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:14:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:14:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:14:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:14:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:14:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:14:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:14:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:14:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:14:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:14:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:14:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:14:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:14:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:14:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:14:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:14:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:14:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:14:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:14:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:14:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:14:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:14:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:14:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.14.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:14:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:14:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_15, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=15, name=TSERV2_15 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:15:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:15:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:15:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:15:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:15:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:15:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:15:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:15:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:15:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:15:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:15:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:15:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:15:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:15:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:15:PORT") + field(LNK2, "SR03C-VA-TSERV-02:15:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:15:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:15:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:15:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:15:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:15:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:15:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:15:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:15:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:15:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:15:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:15:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +record(longin, "SR03C-VA-TSERV-02:15:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:15:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:15:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:15:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:15:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:15:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:15:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:15:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:15:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:15:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:15:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:15:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:15:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:15:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:15:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:15:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:15:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:15:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:15:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:15:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:15:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.15" ) +} +record(calcout, "SR03C-VA-TSERV-02:15:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:15:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:15:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:15:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:15:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:15:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:15:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:15:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:15:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:15:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:15:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:15:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:15:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:15:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:15:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:15:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:15:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:15:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:15:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:15:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:15:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:15:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:15:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:15:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:15:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:15:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:15:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:15:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.15.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:15:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:15:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_16, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=16, name=TSERV2_16 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:16:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:16:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:16:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:16:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:16:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:16:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:16:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:16:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:16:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:16:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:16:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:16:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:16:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:16:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:16:PORT") + field(LNK2, "SR03C-VA-TSERV-02:16:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:16:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:16:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:16:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:16:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:16:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:16:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:16:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:16:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:16:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:16:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:16:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +record(longin, "SR03C-VA-TSERV-02:16:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:16:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:16:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:16:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:16:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:16:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:16:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:16:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:16:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:16:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:16:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:16:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:16:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:16:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:16:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:16:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:16:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:16:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:16:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:16:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:16:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.16" ) +} +record(calcout, "SR03C-VA-TSERV-02:16:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:16:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:16:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:16:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:16:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:16:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:16:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:16:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:16:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:16:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:16:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:16:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:16:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:16:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:16:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:16:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:16:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:16:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:16:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:16:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:16:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:16:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:16:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:16:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:16:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:16:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:16:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:16:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.16.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:16:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:16:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} diff --git a/tests/samples/bl45p-mo-ioc-01.yaml b/tests/samples/bl45p-mo-ioc-01.yaml index 055d006..b321409 100644 --- a/tests/samples/bl45p-mo-ioc-01.yaml +++ b/tests/samples/bl45p-mo-ioc-01.yaml @@ -1,17 +1,23 @@ -ioc_name: '{{ ioc_yaml_file_name }}' +# yaml-language-server: $schema=/epics/ibek-defs/ioc.schema.json + +ioc_name: "{{ _global.get_env('IOC_NAME') }}" description: auto-generated by https://github.com/epics-containers/builder2ibek entities: - - type: epics.EpicsCaMaxArrayBytes - max_bytes: 6000000 + - type: epics.EpicsEnvSet + name: EPICS_TS_MIN_WEST + value: '0' - type: devIocStats.iocAdminSoft IOC: '{{ ioc_name | upper }}' + - type: epics.EpicsCaMaxArrayBytes + max_bytes: 6000000 + - type: pmac.pmacAsynIPPort - IP: 172.23.59.21 + IP: 172.23.59.21:1025 name: BRICK1port - type: pmac.GeoBrick @@ -44,12 +50,14 @@ entities: DIR: Pos DLLM: -10000000 EGU: deg + FOFF: Variable HOMEVISSTR: Absolute Encoder M: :THETA:TOP MRES: 0.087890625 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 1 + UEIP: No VELO: 90 VMAX: '1080' @@ -62,12 +70,14 @@ entities: DIR: Pos DLLM: -10000000 EGU: deg + FOFF: Variable HOMEVISSTR: Absolute Encoder M: :THETA:BOT MRES: 0.087890625 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 1 + UEIP: No VELO: 90 VMAX: '1080' @@ -79,6 +89,7 @@ entities: DIR: Pos DLLM: -10000000 EGU: deg + FOFF: Variable HOMEVIS: 0 HOMEVISSTR: Absolute Encoder M: :ENDAT @@ -86,6 +97,7 @@ entities: P: BL45P-MO-CHOP-01 PREC: 5 TWV: 1 + UEIP: No VELO: 43 - type: pmac.dls_pmac_asyn_motor @@ -98,6 +110,7 @@ entities: DLLM: -10000000 EGU: deg ERES: '' + FOFF: Variable HOMEVIS: 0 HOMEVISSTR: Absolute Encoder M: :BISS @@ -105,6 +118,7 @@ entities: P: BL45P-MO-CHOP-01 PREC: 5 TWV: 1 + UEIP: No VELO: 720 - type: pmac.dls_pmac_asyn_motor @@ -115,11 +129,13 @@ entities: DIR: Pos DLLM: 0 EGU: mm + FOFF: Variable M: :X MRES: 0.0001 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 1 + UEIP: No VELO: 5 - type: pmac.dls_pmac_asyn_motor @@ -130,11 +146,13 @@ entities: DIR: Pos DLLM: -1 EGU: mm + FOFF: Variable M: :Y:TOP MRES: 0.0005 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 1 + UEIP: No VELO: 5 - type: pmac.dls_pmac_asyn_motor @@ -145,11 +163,13 @@ entities: DIR: Pos DLLM: -1 EGU: mm + FOFF: Variable M: :Y:BOT MRES: 0.0005 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 1 + UEIP: No VELO: 5 - type: pmac.autohome @@ -160,7 +180,6 @@ entities: P: BL45P-MO-STAGE-01 PLC: 10 PmacController: BRICK1 - name: STAGE1.HOME - type: pmac.CS CS: 1 @@ -189,11 +208,13 @@ entities: DIR: Pos DLLM: -10000 EGU: deg + FOFF: Variable M: :THETA:POS MRES: 0.0001 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 5 + UEIP: No VELO: 30 is_cs: true @@ -206,11 +227,13 @@ entities: DIR: Pos DLLM: -360 EGU: deg + FOFF: Variable M: :THETA:SKEW MRES: 0.0001 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 5 + UEIP: No VELO: 10 is_cs: true @@ -222,11 +245,13 @@ entities: DIR: Pos DLLM: -1 EGU: mm + FOFF: Variable M: :CS:Y MRES: 0.0001 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 0.5 + UEIP: No VELO: 5 is_cs: true @@ -238,11 +263,13 @@ entities: DIR: Pos DLLM: -2 EGU: mm + FOFF: Variable M: :CS:Y:STRETCH MRES: 0.0001 P: BL45P-MO-STAGE-01 PREC: 3 TWV: 0.5 + UEIP: No VELO: 5 is_cs: true @@ -255,7 +282,6 @@ entities: Controller: BRICK1 GroupName: Default GroupNumber: 0 - name: BRICK1.DEFAULT - type: pmac.pmacCsGroupAddAxis AxisDef: I @@ -263,7 +289,6 @@ entities: Controller: BRICK1 CoordSysNumber: 2 GroupNumber: 0 - name: BRICK1.CS.GROUP0.AXIS2 - type: pmac.pmacCsGroupAddAxis AxisDef: I @@ -271,7 +296,6 @@ entities: Controller: BRICK1 CoordSysNumber: 2 GroupNumber: 0 - name: BRICK1.CS.GROUP0.AXIS3 - type: pmac.pmacCsGroupAddAxis AxisDef: Z @@ -279,7 +303,6 @@ entities: Controller: BRICK1 CoordSysNumber: 3 GroupNumber: 0 - name: BRICK1.CS.GROUP0.AXIS4 - type: pmac.pmacCsGroupAddAxis AxisDef: I @@ -287,7 +310,6 @@ entities: Controller: BRICK1 CoordSysNumber: 3 GroupNumber: 0 - name: BRICK1.CS.GROUP0.AXIS5 - type: pmac.pmacCsGroupAddAxis AxisDef: I @@ -295,4 +317,3 @@ entities: Controller: BRICK1 CoordSysNumber: 3 GroupNumber: 0 - name: BRICK1.CS.GROUP0.AXIS6 diff --git a/tests/samples/bl99p-ea-ioc-05.yaml b/tests/samples/bl99p-ea-ioc-05.yaml new file mode 100644 index 0000000..77179e4 --- /dev/null +++ b/tests/samples/bl99p-ea-ioc-05.yaml @@ -0,0 +1,37 @@ +# yaml-language-server: $schema=/epics/ibek-defs/ioc.schema.json + +ioc_name: "{{ _global.get_env('IOC_NAME') }}" + +description: auto-generated by https://github.com/epics-containers/builder2ibek + +entities: + + - type: epics.EpicsEnvSet + name: EPICS_TS_MIN_WEST + value: '0' + + - type: devIocStats.iocAdminSoft + IOC: '{{ ioc_name | upper }}' + + - type: epics.EpicsCaMaxArrayBytes + max_bytes: 9000000 + + - type: ADAndor.andorCCD + ADDR: 0 + BUFFERS: 2000 + INSTALLPATH: /dls_sw/prod/R3.14.12.7/support/ANAndor/etc + P: BL99P-EA-DET-03 + PORT: DET3.cam + R: ':CAM:' + TIMEOUT: 1 + + - type: ADCore.NDPosPlugin + ADDR: 0 + BLOCK: 0 + ENABLED: 1 + NDARRAY_PORT: DET3.cam + P: BL99P-EA-DET-03 + PORT: DET3.pos + QUEUE: 1000 + R: ':POS:' + TIMEOUT: 1 diff --git a/tests/samples/compare.diff b/tests/samples/compare.diff new file mode 100644 index 0000000..a7e523c --- /dev/null +++ b/tests/samples/compare.diff @@ -0,0 +1,144 @@ +******************************************************************* +Records in original but not in new: + +bo SR03C-VA-IOC-01:SRHEARTBT +calc SR03A-VA-GAUGE-01:PLOG_CALC +calc SR03A-VA-GAUGE-02:PLOG_CALC +calc SR03A-VA-GAUGE-03:PLOG_CALC +calc SR03A-VA-GAUGE-04:PLOG_CALC +calc SR03A-VA-GAUGE-31:PLOG_CALC +calc SR03S-VA-GAUGE-01:PLOG_CALC +calc SR03S-VA-GAUGE-02:PLOG_CALC +genSub SR03A-VA-MIMG-01:MEAN +genSub SR03C-VA-MIMG-01:MEAN +genSub SR03S-VA-MIMG-01:MEAN +genSub SR03S-VA-MIMG-02:MEAN +longout SR03C-VA-IOC-01:0:STATE +longout SR03C-VA-IOC-01:1:STATE +longout SR03C-VA-IOC-01:2:STATE +mbbo SR03C-VA-IOC-01:0:STATUS +mbbo SR03C-VA-IOC-01:1:STATUS +mbbo SR03C-VA-IOC-01:2:STATUS +mbbo SR03C-VA-IOC-01:RRSTATUS +mbbo SR03C-VA-IOC-01:SRSTATUS +stringin SR03C-VA-IOC-01:DLSVER +stringin SR03C-VA-IOC-01:IOC_LOG_PORT +stringin SR03C-VA-IOC-01:TIMEZONE +stringout SR03C-VA-IOC-01:0:NAME +stringout SR03C-VA-IOC-01:0:STATUSST +stringout SR03C-VA-IOC-01:0:TIME +stringout SR03C-VA-IOC-01:1:NAME +stringout SR03C-VA-IOC-01:1:STATUSST +stringout SR03C-VA-IOC-01:1:TIME +stringout SR03C-VA-IOC-01:2:NAME +stringout SR03C-VA-IOC-01:2:STATUSST +stringout SR03C-VA-IOC-01:2:TIME +stringout SR03C-VA-IOC-01:RRSTATUSST +stringout SR03C-VA-IOC-01:RRTIME +stringout SR03C-VA-IOC-01:SRRECENTST +stringout SR03C-VA-IOC-01:SRSTATUSST + +******************************************************************* +Records in new but not in original: + +aSub SR03A-VA-MIMG-01:MEAN +aSub SR03C-VA-MIMG-01:MEAN +aSub SR03S-VA-MIMG-01:MEAN +aSub SR03S-VA-MIMG-02:MEAN +ai SR03C-VA-IOC-01:CBHIGH_Q_HIGH +ai SR03C-VA-IOC-01:CBHIGH_Q_OVERRUNS +ai SR03C-VA-IOC-01:CBHIGH_Q_USED +ai SR03C-VA-IOC-01:CBLOW_Q_HIGH +ai SR03C-VA-IOC-01:CBLOW_Q_OVERRUNS +ai SR03C-VA-IOC-01:CBLOW_Q_USED +ai SR03C-VA-IOC-01:CBMEDIUM_Q_HIGH +ai SR03C-VA-IOC-01:CBMEDIUM_Q_OVERRUNS +ai SR03C-VA-IOC-01:CBMEDIUM_Q_USED +ai SR03C-VA-IOC-01:CB_Q_SIZE +ai SR03C-VA-IOC-01:SCANONCE_Q_HIGH +ai SR03C-VA-IOC-01:SCANONCE_Q_OVERRUNS +ai SR03C-VA-IOC-01:SCANONCE_Q_SIZE +ai SR03C-VA-IOC-01:SCANONCE_Q_USED +bo SR03C-VA-IOC-01:SR_deadIfZero +bo SR03C-VA-IOC-01:SR_disable +bo SR03C-VA-IOC-01:SR_heartbeat +bo SR03C-VA-IOC-01:SR_i_am_alive +calc SR03A-VA-GAUGE-01:RAW:EGU +calc SR03A-VA-GAUGE-02:RAW:EGU +calc SR03A-VA-GAUGE-03:RAW:EGU +calc SR03A-VA-GAUGE-04:RAW:EGU +calc SR03A-VA-GAUGE-31:RAW:EGU +calc SR03C-VA-IOC-01:CBHIGH_Q_HIGHPER +calc SR03C-VA-IOC-01:CBHIGH_Q_USEDPER +calc SR03C-VA-IOC-01:CBLOW_Q_HIGHPER +calc SR03C-VA-IOC-01:CBLOW_Q_USEDPER +calc SR03C-VA-IOC-01:CBMEDIUM_Q_HIGHPER +calc SR03C-VA-IOC-01:CBMEDIUM_Q_USEDPER +calc SR03C-VA-IOC-01:SCANONCE_Q_HIGHPER +calc SR03C-VA-IOC-01:SCANONCE_Q_USEDPER +calc SR03S-VA-GAUGE-01:RAW:EGU +calc SR03S-VA-GAUGE-02:RAW:EGU +longout SR03C-VA-IOC-01:SR_0_State +longout SR03C-VA-IOC-01:SR_1_State +longout SR03C-VA-IOC-01:SR_2_State +longout SR03C-VA-IOC-01:SR_3_State +longout SR03C-VA-IOC-01:SR_4_State +longout SR03C-VA-IOC-01:SR_5_State +longout SR03C-VA-IOC-01:SR_6_State +longout SR03C-VA-IOC-01:SR_7_State +longout SR03C-VA-IOC-01:SR_disableMaxSecs +mbbo SR03C-VA-IOC-01:SR_0_Status +mbbo SR03C-VA-IOC-01:SR_1_Status +mbbo SR03C-VA-IOC-01:SR_2_Status +mbbo SR03C-VA-IOC-01:SR_3_Status +mbbo SR03C-VA-IOC-01:SR_4_Status +mbbo SR03C-VA-IOC-01:SR_5_Status +mbbo SR03C-VA-IOC-01:SR_6_Status +mbbo SR03C-VA-IOC-01:SR_7_Status +mbbo SR03C-VA-IOC-01:SR_rebootStatus +mbbo SR03C-VA-IOC-01:SR_status +stringin SR03C-VA-IOC-01:CAS_ADDR_IGNORE_LIST +stringin SR03C-VA-IOC-01:CAS_ADDR_INTF_LIST +stringin SR03C-VA-IOC-01:CAS_ADDR_LIST +stringin SR03C-VA-IOC-01:CAS_AUTO_ADDR +stringin SR03C-VA-IOC-01:CAS_BEACON_PERIOD +stringin SR03C-VA-IOC-01:CAS_BEACON_PORT +stringin SR03C-VA-IOC-01:CAS_SRVR_PORT +stringin SR03C-VA-IOC-01:IOC_LOG_FILE_COMMAND +stringin SR03C-VA-IOC-01:IOC_LOG_FILE_LIMIT +stringin SR03C-VA-IOC-01:IOC_LOG_FILE_NAME +stringin SR03C-VA-IOC-01:TZ +stringout SR03C-VA-IOC-01:SR_0_Name +stringout SR03C-VA-IOC-01:SR_0_StatusStr +stringout SR03C-VA-IOC-01:SR_0_Time +stringout SR03C-VA-IOC-01:SR_1_Name +stringout SR03C-VA-IOC-01:SR_1_StatusStr +stringout SR03C-VA-IOC-01:SR_1_Time +stringout SR03C-VA-IOC-01:SR_2_Name +stringout SR03C-VA-IOC-01:SR_2_StatusStr +stringout SR03C-VA-IOC-01:SR_2_Time +stringout SR03C-VA-IOC-01:SR_3_Name +stringout SR03C-VA-IOC-01:SR_3_StatusStr +stringout SR03C-VA-IOC-01:SR_3_Time +stringout SR03C-VA-IOC-01:SR_4_Name +stringout SR03C-VA-IOC-01:SR_4_StatusStr +stringout SR03C-VA-IOC-01:SR_4_Time +stringout SR03C-VA-IOC-01:SR_5_Name +stringout SR03C-VA-IOC-01:SR_5_StatusStr +stringout SR03C-VA-IOC-01:SR_5_Time +stringout SR03C-VA-IOC-01:SR_6_Name +stringout SR03C-VA-IOC-01:SR_6_StatusStr +stringout SR03C-VA-IOC-01:SR_6_Time +stringout SR03C-VA-IOC-01:SR_7_Name +stringout SR03C-VA-IOC-01:SR_7_StatusStr +stringout SR03C-VA-IOC-01:SR_7_Time +stringout SR03C-VA-IOC-01:SR_rebootStatusStr +stringout SR03C-VA-IOC-01:SR_rebootTime +stringout SR03C-VA-IOC-01:SR_recentlyStr +stringout SR03C-VA-IOC-01:SR_statusStr + +******************************************************************* +records in original: 7436 + records in new: 7495 + records missing in new: 36 + records extra in new: 95 diff --git a/tests/samples/make_samples.sh b/tests/samples/make_samples.sh new file mode 100755 index 0000000..6386972 --- /dev/null +++ b/tests/samples/make_samples.sh @@ -0,0 +1,12 @@ +# regenerate the tests results files + +# caution: validate that the yaml diff looks good before committing these +# changes + +for x in *.xml; do + y=$(echo $x | sed -e 's/\.xml/\.yaml/' -e 's/.*/\L&/g') + echo converting $x to $y + builder2ibek xml2yaml $x --yaml $y +done + +builder2ibek db-compare ./SR03C-VA-IOC-01_expanded.db ./sr03c-va-ioc-01.db --output ./compare.diff diff --git a/tests/samples/motor.template b/tests/samples/motor.template new file mode 100644 index 0000000..d4bb9ad --- /dev/null +++ b/tests/samples/motor.template @@ -0,0 +1,312 @@ +#% macro, __doc__, Basic template, including motor record and associated tags +#% macro, P , Device Prefix +#% macro, M , Device Suffix +#% macro, PORT , Asyn port for motor record +#% macro, ADDR , Address on controller +#% macro, DESC , Description, displayed on EDM screen +#% macro, MRES , Motor Step Size (EGU) +#% macro, DTYP , DTYP of record +#% macro, DIR , User Direction +#% macro, VBAS , Base Velocity (EGU/s) +#% macro, VELO , Velocity (EGU/s) +#% macro, VMAX , Max Velocity (EGU/s), defaults to VELO +#% macro, ACCL , Seconds to Velocity +#% macro, BDST , BL Distance (EGU) +#% macro, BVEL , BL Velocity (EGU/s) +#% macro, BACC , BL Seconds to Veloc. +#% macro, PREC , Display Precision +#% macro, EGU , Engineering Units +#% macro, DHLM , Dial High Limit +#% macro, DLLM , Dial Low Limit +#% macro, HLM , User High Limit +#% macro, LLM , User Low Limit +#% macro, HLSV , HW Lim. Violation Svr +#% macro, INIT , Startup commands +#% macro, SREV , Steps per Revolution +#% macro, RRES , Readback Step Size (EGU) +#% macro, TWV , Tweak Step Size (EGU) +#% macro, ERES , Encoder Step Size (EGU) +#% macro, JAR , Jog Acceleration (EGU/s^2) +#% macro, UEIP , Use Encoder If Present +#% macro, URIP , Use RDBL If Present +#% macro, RDBL , Readback Location, set URIP = 1 if you specify this +#% macro, RLNK , Readback output link +#% macro, RTRY , Max retry count +#% macro, DLY , Readback settle time (s) +#% macro, OFF , User Offset (EGU) +#% macro, RDBD , Retry Deadband (EGU) +#% macro, FOFF , Freeze Offset, 0=variable, 1=frozen +#% macro, ADEL , Alarm monitor deadband (EGU) +#% macro, NTM , New Target Monitor, only set to 0 for soft motors +#% macro, FEHIGH , HIGH limit for following error +#% macro, FEHIHI , HIHI limit for following error +#% macro, FEHHSV , HIHI alarm severity for following error +#% macro, FEHSV , HIGH alarm severity for following error +#% macro, SCALE , Scale factor, if pmacSetAxisScale is used this should be set +#% macro, HOMEVIS, If 1 then home is visible on the gui +#% macro, HOMEVISSTR, If HOMEVIS=0, then display this text on the gui instead +#% macro, name , Object name and gui association name +#% macro, alh , Set this to alh to add the motor to the alarm handler and send emails, +# set to '#' to comment out alh lines +#% macro, gda_name, Name to export this as to GDA +#% macro, gda_desc, Description to export this as to GDA + +# AUTOSAVE: level 0 = before record init, level 1 = before AND after record init +#% autosave 0 DVAL OFF +#% autosave 1 DIR DHLM DLLM TWV VBAS VELO ACCL BDST BVEL BACC RDBD EGU RTRY UEIP URIP DLY PREC DISA DISP FOFF OFF FRAC OMSL JVEL JAR ADEL MDEL +#% archiver 0.5 Monitor +#% archiver 0.5 Monitor RBV +#% archiver 10 Monitor OFF +#% archiver 10 Monitor MRES +#% gdatag,template,simpleMotor,$(gda_name=),$(gda_desc=$(DESC)) +#% gdatag,motor,rw,$(gda_name=),RECORD,Motor +#% alh +#% $(alh=None) $SEVRCOMMAND UP_ANY dls-alh-handler.py $(P)$(M) + +# This associates an edm screen with the template +# % gui, $(name=), edm, motor.edl, motor=$(P)$(M) +# % gui, $(name=), edmembed, motor-embed-small.edl, motor=$(P)$(M),filename=motor.edl,box-label=$(DESC) + +# This associates a BOY screen with the template +# % gui, $(name=), boydetail, motorApp_opi/motor_detail.opi, P=$(P),M=$(M),DESC=$(DESC), name=$(name=) +# % gui, $(name=), boyembed, motorApp_opi/motor_embed_box.opi, P=$(P),M=$(M),DESC=$(DESC), name=$(name=) +# % gui, $(name=), boyembed, motorApp_opi/motor_embed.opi, P=$(P),M=$(M),DESC=$(DESC), name=$(name=) +# FIXME: this should be in pmacUtil or tpmac +# % gui, $(name=), boyembed, motorApp_opi/motor_homed_embed.opi, P=$(P),M=$(M) + +# This makes the component icon reflect the status and severity +# % gui, $(name=), status, .MOVN +# % gui, $(name=), sevr + +# These define what PVs a motor detail screen should contain +# % gui, $(name=), statusbits, Status, .MSTA, Direction Positive, Done, High Limit, Home Limit, Unused, Closed Loop, Following Error, At Home, Encoder Present, Problem, Moving, Gain Support, Comms Error, Low Limit, Homed +# % gui, $(name=), statusbits, ELoss, :ELOSS, Encoder Loss, Amplifier Loss, Sys Fail +# % gui, $(name=), command, ELoss Clear, :ELOSSRC.A +# % gui, $(name=), statusbits, Limit Violation, .LVIO, Lim +# % gui, $(name=), statusbits, At High Limit, .HLS, High +# % gui, $(name=), statusbits, At Low Limit, .LLS, Low +# % gui, $(name=), demand, User High Limit, .HLM +# % gui, $(name=), demand, User Low Limit, .LLM +# % gui, $(name=), demand, Dial High Limit, .DHLM +# % gui, $(name=), demand, Dial Low Limit, .DLLM + +# % gui, $(name=), demand, Motor demand, .VAL +# % gui, $(name=), readback, Motor readback, .RBV +# % gui, $(name=), command, Stop, .STOP +# % gui, $(name=), command, Home Forward, .HOMF +# % gui, $(name=), command, Home Reverse, .HOMR +# % gui, $(name=), command, Jog Forward, .JOGF +# % gui, $(name=), command, Jog Reverse, .JOGR +# % gui, $(name=), command, Tweak Forward, .TWF +# % gui, $(name=), command, Tweak Reverse, .TWR +# % gui, $(name=), demand, Tweak Step, .TWV +# % gui, $(name=), command, Kill, :KILL.PROC, Kill +# % gui, $(name=), command, Sync VAL=RBV, .SYNC + +# % gui, $(name=), enum, Direction, .DIR +# % gui, $(name=), demand, User Offset, .OFF +# % gui, $(name=), enum, Set/Use, .SET +# % gui, $(name=), enum, Offset, .FOFF +# % gui, $(name=), enum, Use Encoder, .UEIP + +# % gui, $(name=), demand, Motor Step Size, .MRES +# % gui, $(name=), readback, Steps per Rev, .SREV +# % gui, $(name=), readback, EGUs per Rev, .UREV +# % gui, $(name=), demand, Encoder Step Size, .ERES +# % gui, $(name=), readback, Readback Step Size, .RRES +# % gui, $(name=), readback, Use Encoder if Present, .UEIP + +# % gui, $(name=), demand, Max Velocity, .VMAX +# % gui, $(name=), demand, Base Velocity, .VBAS +# % gui, $(name=), demand, Velocity, .VELO +# % gui, $(name=), demand, Secs to Velocity, .ACCL +# % gui, $(name=), demand, JVEL, .JVEL +# % gui, $(name=), demand, Jog Acceleration, .JAR +# % gui, $(name=), demand, Backlash Distance, .BDST +# % gui, $(name=), demand, Backlash Velocity, .BVEL +# % gui, $(name=), demand, Backlash Secs to Vel, .BACC +# % gui, $(name=), demand, Move Fraction, .FRAC +# % gui, $(name=), demand, Retry Deadband, .RDBD +# % gui, $(name=), demand, Max Retries, .RTRY + +# % gui, $(name=), demand, PREC, .PREC +# % gui, $(name=), demand, EGU, .EGU + +# % gui, $(name=), demand, Output Specification, .OUT +# % gui, $(name=), readback, Readback Location, .RDBL +# % gui, $(name=), readback, Desired Output Loc, .DOL +# % gui, $(name=), readback, Output Mode Select, .OMSL +# % gui, $(name=), readback, Readback Out Link, .RLNK +# % gui, $(name=), demand, DMOV Input Link, .DINP +# % gui, $(name=), demand, RMP Input Link, .RINP +# % gui, $(name=), demand, Stop Out Link, .STOO + + +record(motor,"$(P)$(M)) +{ + field(DESC,"$(DESC)") + field(DTYP,"$(DTYP=asynMotor)") + field(DIR,"$(DIR=0)") + field(VELO,"$(VELO)") + field(VBAS,"$(VBAS=0)") + field(ACCL,"$(ACCL=0.5)") + field(BDST,"$(BDST=0)") + field(BVEL,"$(BVEL=0)") + field(BACC,"$(BACC=)") + field(OUT,"@asyn($(PORT),$(ADDR))") + field(MRES,"$(MRES)") + field(PREC,"$(PREC)") + field(EGU,"$(EGU)") + field(DHLM,"$(DHLM=)") + field(DLLM,"$(DLLM=)") + field(HLM,"$(HLM=)") + field(LLM,"$(LLM=)") + field(HLSV,"$(HLSV=MAJOR)") + field(INIT,"$(INIT=)") + field(RTRY,"$(RTRY=0)") + field(DLY,"$(DLY=0)") + field(HVEL,"0") + field(SREV, "$(SREV=1000)") + field(RRES, "$(RRES=)") + field(TWV, "$(TWV)") + field(ERES, "$(ERES=)") + field(JVEL, "$(VELO)") + field(JAR, "$(JAR=)") + field(UEIP, "$(UEIP=0)") + field(URIP, "$(URIP=0)") + field(RDBL, "$(RDBL=)") + field(VMAX, "$(VMAX=$(VELO))") + field(OFF, "$(OFF=0)") + field(RDBD, "$(RDBD=)") + field(FOFF, "$(FOFF=0)") + field(ADEL, "$(ADEL=0)") + field(NTM, "$(NTM=1)") + field(SDIS, "$(P)$(M):SDIS.VAL") + field(RLNK, "$(RLNK=)") +} + +# record that holds the ADDR +record(ao, "$(P)$(M):ADDR") { + field(PINI, "YES") + field(VAL, "$(ADDR)") +} + +# record that holds the PORT +record(stringout, "$(P)$(M):PORT") { + field(PINI, "YES") + field(VAL, "$(PORT)") +} + +# record that holds the SCALE +record(ao, "$(P)$(M):SCALE") { + field(PINI, "YES") + field(VAL, "$(SCALE=1)") +} + +# Write a 1 to this record over Channel Access to disable the motor record and prevent CA writes to any field +# including the demand field. +record(ai, "$(P)$(M):USER:SDIS") { + field(VAL, "0") + field(FLNK, "$(P)$(M):SDIS") +} + +# Note: This record forms part of the interface to auto-homing, which uses the "A" field to disable the motor record +# when homing. +# record that will disable and re-enable record if any of its inputs are non-zero +record(calcout, "$(P)$(M):SDIS") { + field(DESC, "Disable on non-zero input") + field(INPL, "$(P)$(M):USER:SDIS") + field(CALC, "(A|B|C|D|E|F|G|H|I|J|K|L)>0") + field(OUT, "$(P)$(M).DISP PP") +} + +# dummy record that looks like a kill command +record(ao, "$(P)$(M):KILL") { + field(VAL, "1") +} + +# dummy record that looks like eloss status +#% archiver 10 Monitor VAL +#% $(alh=None) $SEVRCOMMAND UP_ANY dls-alh-handler.py $(P)$(M):ELOSS +record(ai, "$(P)$(M):ELOSS") { + field(PINI, "YES") + field(HIHI, "1") + field(HHSV, "MAJOR") +} + +# dummy record that looks like an eloss reset +record(calcout, "$(P)$(M):ELOSSRC") { +} + +# check if SYNC has been pressed +record(calcout, "$(P)$(M):CHECK_SYNC") { + field(INPA, "$(P)$(M).SYNC CP") + field(CALC, "A>0") + field(OOPT, "When Non-zero") + field(OUT, "$(P)$(M):MR_MOVE_WRITE.PROC PP") +} + +# dummy record that looks like a record to notify a CS about a raw motor move +record(longout, "$(P)$(M):MR_MOVE_WRITE") { +} + +#Record to calculate the following error +#% archiver 1 Monitor +record(calc, "$(P)$(M):FERROR") +{ + field(DESC,"Following Error") + field(INPA,"$(P)$(M).RMP CP") + field(INPB,"$(P)$(M).REP NPP") + field(INPC,"$(P)$(M).MRES NPP") + field(INPD,"$(P)$(M).ERES NPP") + field(CALC,"ABS((A*C)-(B*D))") + field(FLNK,"$(P)$(M):FERRORMAX") + field(PREC,"$(PREC)") + field(EGU, "$(EGU)") +} + +#Record to store the maximum following error +#% archiver 10 Monitor VAL +#% autosave 1 VAL +#% $(alh=None) $SEVRCOMMAND UP_ANY dls-alh-handler.py $(P)$(M):FERRORMAX +record(calc, "$(P)$(M):FERRORMAX") +{ + field(DESC,"Following Error Max") + field(INPA,"$(P)$(M):FERROR.VAL") + field(INPB,"$(P)$(M):FERRORMAX.VAL") + field(CALC,"(A>B)?A:B") + field(HIGH,"$(FEHIGH=0)") + field(HIHI,"$(FEHIHI=0)") + field(HHSV,"$(FEHHSV=NO_ALARM)") + field(HSV, "$(FEHSV=NO_ALARM)") + field(PREC,"$(PREC)") + field(EGU, "$(EGU)") +} + +#Record to reset the maximum following error +record(bo, "$(P)$(M):FEMAXRESET") +{ + field(DESC,"Reset max following error") + field(DTYP,"Soft Channel") + field(OUT, "$(P)$(M):FERRORMAX.VAL") + field(VAL, "0") +} + + +#Record to determin HOME button visibility on the motor.edl screen. +record(bo, "$(P)$(M):HOMEVIS") +{ + field(DESC,"Home button visibility") + field(DTYP,"Soft Channel") + field(VAL, "$(HOMEVIS=1)") + field(ZNAM, "Invisible") + field(ONAM, "Visible") +} + +#Record to display a message if the HOME buttons are not visible (if HOMEVIS=0). +record(stringout, "$(P)$(M):HOMEVISSTR") +{ + field(DESC, "Home visibility string") + field(DTYP,"Soft Channel") + field(VAL, "$(HOMEVISSTR=Use motor summary screen)") +} diff --git a/tests/samples/sr03c-va-ioc-01.db b/tests/samples/sr03c-va-ioc-01.db new file mode 100644 index 0000000..9556715 --- /dev/null +++ b/tests/samples/sr03c-va-ioc-01.db @@ -0,0 +1,108874 @@ +# Used by Channel Access Security to determine access to this IOC. +record(mbbo, "SR03C-VA-IOC-01:ACCESS") { + field(DESC, "SR03C-VA-IOC-01 Acc Mode") + field(PINI, "YES") + field(ZRST, "Running") + field(ZRSV, "NO_ALARM") + field(ONST, "Maintenance") + field(ONSV, "MINOR") + field(TWST, "Test") + field(TWSV, "MINOR") + field(THST, "OFFLINE") + field(THSV, "MAJOR") + + info(autosaveFields, "VAL") +} + +record(stringin, "SR03C-VA-IOC-01:STARTTOD") { + field(DESC, "Time and date of startup") + field(DTYP, "Soft Timestamp") + field(PINI, "YES") + field(INP, "@%m/%d/%Y %H:%M:%S") +} + +record(stringin, "SR03C-VA-IOC-01:TOD") { + field(DESC, "Current time and date") + field(DTYP, "Soft Timestamp") + field(SCAN, "1 second") + field(INP, "@%m/%d/%Y %H:%M:%S") +} + +record(calcout, "SR03C-VA-IOC-01:HEARTBEAT") { + field(DESC, "1 Hz counter since startup") + field(CALC, "(A<2147483647)?A+1:1") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-IOC-01:HEARTBEAT") +} +# if autosave is working, START_CNT creates a running count of +# number of times the IOC was started. +record(calcout, "SR03C-VA-IOC-01:START_CNT") { + field(DESC, "Increments at startup") + field(CALC, "A+1") + field(PINI, "YES") + field(INPA, "SR03C-VA-IOC-01:START_CNT") + + info(autosaveFields_pass0, "VAL") +} +# +# Using an existing internal set of subroutines, this +# PV updates the Access Security mechanism dynamically. +# The .acf file is re-read. +# +record( sub, "SR03C-VA-IOC-01:READACF") { + field(DESC, "SR03C-VA-IOC-01 ACF Update") + field(INAM, "asSubInit") + field(SNAM, "asSubProcess") + field(BRSV, "INVALID") +} + +record(sub, "SR03C-VA-IOC-01:SYSRESET") { + alias("SR03C-VA-IOC-01:SysReset") + + field(DESC, "IOC Restart" ) + field(SNAM, "rebootProc") + field(BRSV, "INVALID") + field(L, "1") +} + +record(ai, "SR03C-VA-IOC-01:CA_CLNT_CNT") { + field(DESC, "Number of CA Clients") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ca_clients") + field(HOPR, "200") + field(HIHI, "175") + field(HIGH, "100") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:CA_CONN_CNT") { + field(DESC, "Number of CA Connections") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ca_connections") + field(HOPR, "5000") + field(HIHI, "4500") + field(HIGH, "4000") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:RECORD_CNT") { + field(DESC, "Number of Records") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@records") +} + +record(ai, "SR03C-VA-IOC-01:FD_MAX") { + field(DESC, "Max File Descriptors") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@maxfd") +} + +record(ai, "SR03C-VA-IOC-01:FD_CNT") { + field(DESC, "Allocated File Descriptors") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(FLNK, "SR03C-VA-IOC-01:FD_FREE PP MS") + field(INP, "@fd") +} + +record(calc, "SR03C-VA-IOC-01:FD_FREE") { + field(DESC, "Available FDs") + field(CALC, "B>0?B-A:C") + field(INPA, "SR03C-VA-IOC-01:FD_CNT NPP MS") + field(INPB, "SR03C-VA-IOC-01:FD_MAX NPP MS") + field(INPC, "1000") + field(HOPR, "150") + field(LOLO, "5") + field(LOW, "20") + field(LLSV, "MAJOR") + field(LSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR LOW LOLO LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:SYS_CPU_LOAD") { + field(DESC, "System CPU Load") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@sys_cpuload") + field(EGU, "%") + field(PREC, "1") + field(HOPR, "100") + field(HIHI, "80") + field(HIGH, "70") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:IOC_CPU_LOAD") { + alias("SR03C-VA-IOC-01:LOAD") + + field(DESC, "IOC CPU Load") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@ioc_cpuload") + field(EGU, "%") + field(PREC, "1") + field(HOPR, "100") + field(HIHI, "80") + field(HIGH, "70") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:CPU_CNT") { + field(DESC, "Number of CPUs") + field(DTYP, "IOC stats") + field(INP, "@no_of_cpus") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:SUSP_TASK_CNT") { + field(DESC, "Number Suspended Tasks") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@suspended_tasks") + field(HIHI, "1") + field(HHSV, "MAJOR") + + info(autosaveFields_pass0, "HOPR LOPR HIHI HIGH LOW LOLO HHSV HSV LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:MEM_USED") { + field(DESC, "Allocated Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@allocated_bytes") + field(EGU, "byte") +} + +record(ai, "SR03C-VA-IOC-01:MEM_FREE") { + field(DESC, "Free Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@free_bytes") + field(EGU, "byte") + field(LLSV, "MAJOR") + field(LSV, "MINOR") + + info(autosaveFields_pass0, "HOPR LOPR LOW LOLO LSV LLSV") +} + +record(ai, "SR03C-VA-IOC-01:MEM_MAX") { + field(DESC, "Maximum Memory") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@total_bytes") + field(EGU, "byte") +} + +record(ao, "SR03C-VA-IOC-01:CA_UPD_TIME") { + field(DESC, "CA Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@ca_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "15") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:FD_UPD_TIME") { + field(DESC, "FD Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@fd_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "20") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:LOAD_UPD_TIME") { + field(DESC, "CPU Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@cpu_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "10") + field(PINI, "YES") +} + +record(ao, "SR03C-VA-IOC-01:MEM_UPD_TIME") { + field(DESC, "Memory Check Update Period") + field(DTYP, "IOC stats") + field(OUT, "@memory_scan_rate") + field(EGU, "sec") + field(DRVH, "60") + field(DRVL, "1") + field(HOPR, "60") + field(VAL, "10") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ST_SCRIPT1") { + field(DESC, "Startup Script Part1") + field(DTYP, "IOC stats") + field(INP, "@startup_script_1") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ST_SCRIPT2") { + field(DESC, "Startup Script Part2") + field(DTYP, "IOC stats") + field(INP, "@startup_script_2") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:ST_SCRIPT") { + field(DESC, "Startup Script") + field(DTYP, "IOC stats") + field(INP, "@startup_script") + field(NELM, "120") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:KERNEL_VERS") { + field(DESC, "Kernel Version") + field(DTYP, "IOC stats") + field(INP, "@kernel_ver") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:EPICS_VERS") { + field(DESC, "EPICS Version") + field(DTYP, "IOC stats") + field(INP, "@epics_ver") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:EPICS_VERSION") { + field(DESC, "EPICS Version") + field(DTYP, "IOC stats") + field(INP, "@epics_ver") + field(NELM, "120") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:HOSTNAME") { + field(DESC, "Host Name") + field(DTYP, "IOC stats") + field(INP, "@hostname") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:APP_DIR1") { + field(DESC, "Application Directory Part 1") + field(DTYP, "IOC stats") + field(INP, "@pwd1") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:APP_DIR2") { + field(DESC, "Application Directory Part 2") + field(DTYP, "IOC stats") + field(INP, "@pwd2") + field(PINI, "YES") +} + +record(waveform, "SR03C-VA-IOC-01:APP_DIR") { + field(DESC, "Application Directory") + field(DTYP, "IOC stats") + field(INP, "@pwd") + field(NELM, "160") + field(FTVL, "CHAR") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:UPTIME") { + field(DESC, "Elapsed Time since Start") + field(SCAN, "1 second") + field(DTYP, "IOC stats") + field(INP, "@up_time") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:ENGINEER") { + field(DESC, "Engineer") + field(DTYP, "IOC stats") + field(INP, "@engineer") + field(PINI, "YES") +} + +record(stringin, "SR03C-VA-IOC-01:LOCATION") { + field(DESC, "Location") + field(DTYP, "IOC stats") + field(INP, "@location") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:PROCESS_ID") { + field(DESC, "Process ID") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@proc_id") +} + +record(ai, "SR03C-VA-IOC-01:PARENT_ID") { + field(DESC, "Parent Process ID") + field(PINI, "YES") + field(DTYP, "IOC stats") + field(INP, "@parent_proc_id") +} + +record(ai, "SR03C-VA-IOC-01:SCANONCE_Q_SIZE") { + field(DESC, "max # entries in IOC scanOnce queue") + field(DTYP, "IOC stats") + field(INP, "@scanOnceQueueSize") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:CB_Q_SIZE") { + field(DESC, "max # entries in IOC callback queues") + field(DTYP, "IOC stats") + field(INP, "@cbQueueSize") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:SCANONCE_Q_HIGH") { + field(DESC, "max # of elmts in IOC's scanOnce queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@scanOnceQueueHiWtrMrk") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:SCANONCE_Q_HIGHPER") +} + +record(calc, "SR03C-VA-IOC-01:SCANONCE_Q_HIGHPER") { + field(DESC, "Max. usage of IOC's scanOnce queue") + field(INPA, "SR03C-VA-IOC-01:SCANONCE_Q_HIGH NPP MS") + field(INPB, "SR03C-VA-IOC-01:SCANONCE_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:SCANONCE_Q_USED") { + field(DESC, "# of entries in IOC's scanOnce queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@scanOnceQueueUsed") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:SCANONCE_Q_USEDPER") +} + +record(calc, "SR03C-VA-IOC-01:SCANONCE_Q_USEDPER") { + field(DESC, "Percentage of IOC's scanOnce queue used") + field(INPA, "SR03C-VA-IOC-01:SCANONCE_Q_USED NPP MS") + field(INPB, "SR03C-VA-IOC-01:SCANONCE_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:SCANONCE_Q_OVERRUNS") { + field(DESC, "# of overruns of IOC's scanOnce queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@scanOnceQueueOverruns") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:CBLOW_Q_HIGH") { + field(DESC, "max # of elmts in IOC's cbLow queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbLowQueueHiWtrMrk") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBLOW_Q_HIGHPER") +} + +record(calc, "SR03C-VA-IOC-01:CBLOW_Q_HIGHPER") { + field(DESC, "Max. usage of IOC's cbLow queue") + field(INPA, "SR03C-VA-IOC-01:CBLOW_Q_HIGH NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBLOW_Q_USED") { + field(DESC, "# of entries in IOC's cbLow queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbLowQueueUsed") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBLOW_Q_USEDPER") +} + +record(calc, "SR03C-VA-IOC-01:CBLOW_Q_USEDPER") { + field(DESC, "Percentage of IOC's cbLow queue used") + field(INPA, "SR03C-VA-IOC-01:CBLOW_Q_USED NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBLOW_Q_OVERRUNS") { + field(DESC, "# of overruns of IOC's cbLow queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbLowQueueOverruns") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:CBMEDIUM_Q_HIGH") { + field(DESC, "max # of elmts in IOC's cbMedium queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbMediumQueueHiWtrMrk") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBMEDIUM_Q_HIGHPER") +} + +record(calc, "SR03C-VA-IOC-01:CBMEDIUM_Q_HIGHPER") { + field(DESC, "Max. usage of IOC's cbMedium queue") + field(INPA, "SR03C-VA-IOC-01:CBMEDIUM_Q_HIGH NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBMEDIUM_Q_USED") { + field(DESC, "# of entries in IOC's cbMedium queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbMediumQueueUsed") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBMEDIUM_Q_USEDPER") +} + +record(calc, "SR03C-VA-IOC-01:CBMEDIUM_Q_USEDPER") { + field(DESC, "Percentage of IOC's cbMedium queue used") + field(INPA, "SR03C-VA-IOC-01:CBMEDIUM_Q_USED NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBMEDIUM_Q_OVERRUNS") { + field(DESC, "# of overruns of IOC's cbMedium queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbMediumQueueOverruns") + field(PINI, "YES") +} + +record(ai, "SR03C-VA-IOC-01:CBHIGH_Q_HIGH") { + field(DESC, "max # of elmts in IOC's cbHigh queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbHighQueueHiWtrMrk") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBHIGH_Q_HIGHPER") +} + +record(calc, "SR03C-VA-IOC-01:CBHIGH_Q_HIGHPER") { + field(DESC, "Max. usage of IOC's cbHigh queue") + field(INPA, "SR03C-VA-IOC-01:CBHIGH_Q_HIGH NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBHIGH_Q_USED") { + field(DESC, "# of entries in IOC's cbHigh queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbHighQueueUsed") + field(PINI, "YES") + field(FLNK, "SR03C-VA-IOC-01:CBHIGH_Q_USEDPER") +} + +record(calc, "SR03C-VA-IOC-01:CBHIGH_Q_USEDPER") { + field(DESC, "Percentage of IOC's cbHigh queue used") + field(INPA, "SR03C-VA-IOC-01:CBHIGH_Q_USED NPP MS") + field(INPB, "SR03C-VA-IOC-01:CB_Q_SIZE NPP MS") + field(CALC, "100*A/B") + field(LOPR, "0") + field(HOPR, "100") + field(EGU, "%") +} + +record(ai, "SR03C-VA-IOC-01:CBHIGH_Q_OVERRUNS") { + field(DESC, "# of overruns of IOC's cbHigh queue") + field(SCAN, "I/O Intr") + field(DTYP, "IOC stats") + field(INP, "@cbHighQueueOverruns") + field(PINI, "YES") +} +record(ai, "SR03C-VA-IOC-01:GTIM_TIME") { + field(DESC, "Gen Time Secs since 1990") + field(SCAN, "1 second") + field(DTYP, "General Time") + field(PREC, "3") + field(INP, "@TIME") + field(EGU, "sec") +} + +record(bo, "SR03C-VA-IOC-01:GTIM_RESET") { + field(DESC, "Gen Time Error Reset") + field(DTYP, "General Time") + field(OUT, "@RSTERRCNT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} + +record(longin, "SR03C-VA-IOC-01:GTIM_ERR_CNT") { + field(DESC, "Gen Time Error Count") + field(DTYP, "General Time") + field(INP, "@GETERRCNT") + field(SCAN, "1 second") + field(HIHI, "1") + field(HHSV, "MAJOR") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_CUR_SRC") { + field(DESC, "Gen Time Current Provider") + field(DTYP, "General Time") + field(INP, "@BESTTCP") + field(SCAN, "1 second") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_EVT_SRC") { + field(DESC, "Gen Time Event Provider") + field(DTYP, "General Time") + field(INP, "@BESTTEP") + field(SCAN, "1 second") +} + +record(stringin, "SR03C-VA-IOC-01:GTIM_HI_SRC") { + field(DESC, "Gen Time Highest Provider") + field(DTYP, "General Time") + field(INP, "@TOPTCP") + field(SCAN, "1 second") +} +record(bo, "SR03C-VA-IOC-01:01HZ_MODE") { + field(DESC, "01HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:01HZ_UPD_TIME") { + field(DESC, "01HZ Update Time") + field(SCAN, "10 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:01HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:02HZ_MODE") { + field(DESC, "02HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:02HZ_UPD_TIME") { + field(DESC, "02HZ Update Time") + field(SCAN, "5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:02HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:05HZ_MODE") { + field(DESC, "05HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:05HZ_UPD_TIME") { + field(DESC, "05HZ Update Time") + field(SCAN, "2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:05HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:1HZ_MODE") { + field(DESC, "1HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:1HZ_UPD_TIME") { + field(DESC, "1HZ Update Time") + field(SCAN, "1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:1HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:2HZ_MODE") { + field(DESC, "2HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:2HZ_UPD_TIME") { + field(DESC, "2HZ Update Time") + field(SCAN, ".5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:2HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:5HZ_MODE") { + field(DESC, "5HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:5HZ_UPD_TIME") { + field(DESC, "5HZ Update Time") + field(SCAN, ".2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:5HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:10HZ_MODE") { + field(DESC, "10HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:10HZ_UPD_TIME") { + field(DESC, "10HZ Update Time") + field(SCAN, ".1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:10HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} + +record(calc, "SR03C-VA-IOC-01:SCANMON_SEVR") { + field(DESC, "ScanMon Max Severity") + field(SCAN, "1 second") + field(CALC, "0") + field(INPA, "SR03C-VA-IOC-01:01HZ_UPD_TIME.SEVR MS") + field(INPB, "SR03C-VA-IOC-01:02HZ_UPD_TIME.SEVR MS") + field(INPC, "SR03C-VA-IOC-01:05HZ_UPD_TIME.SEVR MS") + field(INPD, "SR03C-VA-IOC-01:1HZ_UPD_TIME.SEVR MS") + field(INPE, "SR03C-VA-IOC-01:2HZ_UPD_TIME.SEVR MS") + field(INPF, "SR03C-VA-IOC-01:5HZ_UPD_TIME.SEVR MS") + field(INPG, "SR03C-VA-IOC-01:10HZ_UPD_TIME.SEVR MS") +} +record(stringin, "SR03C-VA-IOC-01:CA_ADDR_LIST") { + field(DESC, "EPICS_CA_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_CONN_TIME") { + field(DESC, "EPICS_CA_CONN_TMO") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_CONN_TMO") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_AUTO_ADDR") { + field(DESC, "EPICS_CA_AUTO_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_AUTO_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_RPTR_PORT") { + field(DESC, "EPICS_CA_REPEATER_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_REPEATER_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_SRVR_PORT") { + field(DESC, "EPICS_CA_SERVER_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_SERVER_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_MAX_ARRAY") { + field(DESC, "EPICS_CA_MAX_ARRAY_BYTES") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_MAX_ARRAY_BYTES") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_SRCH_TIME") { + field(DESC, "EPICS_CA_MAX_SEARCH_PERIOD") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_MAX_SEARCH_PERIOD") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CA_BEAC_TIME") { + field(DESC, "EPICS_CA_BEACON_PERIOD") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CA_BEACON_PERIOD") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_SRVR_PORT") { + field(DESC, "EPICS_CAS_SERVER_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_SERVER_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_AUTO_ADDR") { + field(DESC, "EPICS_CAS_AUTO_BEACON_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_AUTO_BEACON_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_ADDR_LIST") { + field(DESC, "EPICS_CAS_BEACON_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_BEACON_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_BEACON_PERIOD") { + field(DESC, "EPICS_CAS_BEACON_PERIOD") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_BEACON_PERIOD") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_BEACON_PORT") { + field(DESC, "EPICS_CAS_BEACON_PORT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_BEACON_PORT") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_ADDR_INTF_LIST") { + field(DESC, "EPICS_CAS_INTF_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_INTF_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:CAS_ADDR_IGNORE_LIST") { + field(DESC, "EPICS_CAS_IGNORE_ADDR_LIST") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_CAS_IGNORE_ADDR_LIST") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:TZ") { + field(DESC, "EPICS_TZ") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_TZ") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:TS_NTP_INET") { + field(DESC, "EPICS_TS_NTP_INET") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_TS_NTP_INET") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_INET") { + field(DESC, "EPICS_IOC_LOG_INET") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_INET") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_FILE_NAME") { + field(DESC, "EPICS_IOC_LOG_FILE_NAME") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_FILE_NAME") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_FILE_COMMAND") { + field(DESC, "EPICS_IOC_LOG_FILE_COMMAND") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_FILE_COMMAND") + field(PINI, "YES") +} +record(stringin, "SR03C-VA-IOC-01:IOC_LOG_FILE_LIMIT") { + field(DESC, "EPICS_IOC_LOG_FILE_LIMIT") + field(DTYP, "IOC epics var") + field(INP, "@EPICS_IOC_LOG_FILE_LIMIT") + field(PINI, "YES") +} +record(bo, "SR03C-VA-IOC-01:01HZ_MODE") { + field(DESC, "01HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:01HZ_UPD_TIME") { + field(DESC, "01HZ Update Time") + field(SCAN, "10 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:01HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:02HZ_MODE") { + field(DESC, "02HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:02HZ_UPD_TIME") { + field(DESC, "02HZ Update Time") + field(SCAN, "5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:02HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:05HZ_MODE") { + field(DESC, "05HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:05HZ_UPD_TIME") { + field(DESC, "05HZ Update Time") + field(SCAN, "2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:05HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:1HZ_MODE") { + field(DESC, "1HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:1HZ_UPD_TIME") { + field(DESC, "1HZ Update Time") + field(SCAN, "1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:1HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:2HZ_MODE") { + field(DESC, "2HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:2HZ_UPD_TIME") { + field(DESC, "2HZ Update Time") + field(SCAN, ".5 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:2HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:5HZ_MODE") { + field(DESC, "5HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:5HZ_UPD_TIME") { + field(DESC, "5HZ Update Time") + field(SCAN, ".2 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:5HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} +record(bo, "SR03C-VA-IOC-01:10HZ_MODE") { + field(DESC, "10HZ Mode") + field(DOL, "1") + field(PINI, "YES") + field(ZNAM, "Relative") + field(ONAM, "Absolute") +} + +record(sub, "SR03C-VA-IOC-01:10HZ_UPD_TIME") { + field(DESC, "10HZ Update Time") + field(SCAN, ".1 second") + field(EGU, "second") + field(PREC, "5") + field(MDEL, "0.00001") + field(HYST, "0.00002") + field(INAM, "scanMonInit") + field(SNAM, "scanMon") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(BRSV, "INVALID") + field(INPA, "SR03C-VA-IOC-01:10HZ_MODE") + field(B, "1.0") + field(C, "5.0") +} + +record(calc, "SR03C-VA-IOC-01:SCANMON_SEVR") { + field(DESC, "ScanMon Max Severity") + field(SCAN, "1 second") + field(CALC, "0") + field(INPA, "SR03C-VA-IOC-01:01HZ_UPD_TIME.SEVR MS") + field(INPB, "SR03C-VA-IOC-01:02HZ_UPD_TIME.SEVR MS") + field(INPC, "SR03C-VA-IOC-01:05HZ_UPD_TIME.SEVR MS") + field(INPD, "SR03C-VA-IOC-01:1HZ_UPD_TIME.SEVR MS") + field(INPE, "SR03C-VA-IOC-01:2HZ_UPD_TIME.SEVR MS") + field(INPF, "SR03C-VA-IOC-01:5HZ_UPD_TIME.SEVR MS") + field(INPG, "SR03C-VA-IOC-01:10HZ_UPD_TIME.SEVR MS") +} +record(bo, "SR03C-VA-IOC-01:SR_heartbeat") { + field(DTYP, "Soft Channel") + field(ZNAM, "0") + field(ONAM, "1") + field(FLNK, "SR03C-VA-IOC-01:SR_i_am_alive") +} + +record(bo, "SR03C-VA-IOC-01:SR_i_am_alive") { + field(DTYP, "Soft Channel") + field(DOL, "1") + field(UDF, "0") + field(ZNAM, "0") + field(ONAM, "1") + field(OUT, "SR03C-VA-IOC-01:SR_deadIfZero.VAL PP") +} + +record(bo, "SR03C-VA-IOC-01:SR_deadIfZero") { + field(DTYP, "Soft Channel") + field(ZNAM, "0") + field(ONAM, "1") + field(HIGH, "300") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_rebootStatus") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_recentlyStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_rebootStatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_rebootTime") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_statusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_0_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_0_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_0_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_0_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_0_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_1_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_1_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_1_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_1_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_1_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_2_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_2_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_2_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_2_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_2_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_3_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_3_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_3_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_3_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_3_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_4_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_4_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_4_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_4_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_4_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_5_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_5_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_5_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_5_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_5_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_6_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_6_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_6_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_6_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_6_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(stringout, "SR03C-VA-IOC-01:SR_7_Name") { + field(VAL, "Not In Use") + field(DTYP, "Soft Channel") +} + +record(longout, "SR03C-VA-IOC-01:SR_7_State") { + field(DTYP, "Soft Channel") +} + +record(mbbo, "SR03C-VA-IOC-01:SR_7_Status") { + field(DTYP, "Soft Channel") + field(NOBT, "3") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "No Status") + field(ONST, "Failure") + field(TWST, "Warning") + field(THST, "Seq Fail") + field(FRST, "Ok") + field(ONSV, "MAJOR") + field(TWSV, "MINOR") + field(THSV, "MAJOR") +} + +record(stringout, "SR03C-VA-IOC-01:SR_7_StatusStr") { + field(DTYP, "Soft Channel") + field(VAL, "Status unknown") +} + +record(stringout, "SR03C-VA-IOC-01:SR_7_Time") { + field(DTYP, "Soft Channel") + field(VAL, "Not yet saved") +} + +record(longout, "SR03C-VA-IOC-01:SR_disableMaxSecs") { + field(DTYP, "Soft Channel") +} +record(bo, "SR03C-VA-IOC-01:SR_disable") { + field(DTYP, "Soft Channel") + field(ZNAM, "Enable") + field(ONAM, "Disable") +} +# File ether_ip_plcInfo.template +# +# % macro, __doc__, Template for status details of PLC using ether_ip module. +# +# % macro, device, Mandatory. Device PV prefix. +# % macro, port, Mandatory. EtherIP port name. +# +# % macro, healthy_ZNAM, Optional. Defaults to NotHealthy. String to display when healthy bit is not set (ZNAM field on PLCHEALTHY bi record). Max 19 characters. +# % macro, healthy_ZSV, Optional. Defaults to NO_ALARM. Alarm status when healthy bit is not set (ZSV field on PLCHEALTHY bi record). Must be one of the EPICS alarm severity names. +# % macro, healthy_ONAM, Optional. Defaults to Healthy. String to display when healthy bit is set (ONAM field on PLCHEALTHY bi record). Max 19 characters. +# % macro, healthy_OSV, Optional. Defaults to NotHealthy. Alarm status when healthy bit is set (OSV field on PLCHEALTHY bi record). Must be one of the EPICS alarm severity names. +# +# This associates BOY screens with the template. +# % gui, VLVCC_01.INFO, boydetail, ether_ipApp_opi/plcInfo_embed.opi, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, boyembed, ether_ipApp_opi/plcInfo_embed_box.opi, name=VLVCC_01_EIP, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, boyembed, ether_ipApp_opi/plcInfo_embed.opi, name=VLVCC_01_EIP, device=SR03C-VA-VLVCC-01 +# +# This associates EDM screens with the template. +# % gui, VLVCC_01.INFO, edm, ether_ip_plcInfo.edl, device=SR03C-VA-VLVCC-01 +# % gui, VLVCC_01.INFO, edmembed, ether_ip_plcInfo-embed.edl, device=SR03C-VA-VLVCC-01 +# +record(stringin, "SR03C-VA-VLVCC-01:PLCNAME") { + field(DESC, "Read PLC Name") + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Name") +} + +record(stringin, "SR03C-VA-VLVCC-01:PLCSTATUS") { + field(DESC, "Read PLC Status") + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Status") +} + +record(bi, "SR03C-VA-VLVCC-01:PLCHEALTHY") { + field(DESC, "Read PLC Healthy Flag") + field(SCAN, "2 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PLC_Healthy_Flag") + field(ZNAM, "NotHealthy") + field(ZSV, "NO_ALARM") + field(ONAM, "Healthy") + field(OSV, "MAJOR") +} +record(ai, "SR03S-VA-GAUGE-01:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03S_VC1_GCTLR_01_COMB_A_C1_Comb_mBar") +}record(ai, "SR03S-VA-GAUGE-02:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03S_VC1_GCTLR_01_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-01:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC1_GCTLR_01_COMB_A_C1_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-02:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC1_GCTLR_01_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-03:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_02_COMB_B_C2_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-31:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_03_COMB_A_C1_Comb_mBar") +}record(ai, "SR03A-VA-GAUGE-04:RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP SR03A_VC2_GCTLR_03_COMB_B_C2_Comb_mBar") +}# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03S-VA-GCTLR-01:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03S-VA-GCTLR-01:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_S_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03S-VA-GCTLR-01:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03S-VA-GCTLR-01:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03S-VA-GCTLR-01:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03S-VA-GCTLR-01:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03S-VA-GCTLR-01:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_S_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-GCTLR-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-GCTLR-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-GCTLR-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-GCTLR-01:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-GCTLR-01:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-01:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-01:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-01:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-01:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-01:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-01:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-01:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_01_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-01:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-01:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-02:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-02:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_02_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-02:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-02:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-02:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-02:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-02:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_02_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-02:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-02:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-02:COMMS PP MS") + } +# mks937a.db +#% macro, __doc__, Template database for an MKS937A Multi-Sensor System +# Pete Owens - 9/3/04 +# +# substitutions: +#% macro, device, Device name +#% macro, port, Asyn Port name, e.g. ty_40_0 +################################################################################ +# Line Frequency +# +#% controldesk Line Frequency readback +record(ai, "SR03A-VA-GCTLR-03:F") +{ + field(DESC, "Line Frequency") + field(DTYP, "stream") + field(INP, "@mks937a.protocol freq GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(EGU, "Hz") + field(PREC, "0") + field(HOPR, "50") + field(LOPR, "60") +} +################################################################################ +# Pressure Unit +# +#% controldesk Pressure Unit readback +record(stringin, "SR03A-VA-GCTLR-03:UNIT") +{ + field(DESC, "Pressure Unit") + field(DTYP, "stream") + field(INP, "@mks937a.protocol unit GCTLR_A_03_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Controller Version +# +#% archiver 10 Monitor +#% controldesk Controller Version readback +record(ai, "SR03A-VA-GCTLR-03:CTLV") +{ + field(DESC, "Controller Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol ctlv GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Communications Module Version +# +#% controldesk Communications Version readback +record(ai, "SR03A-VA-GCTLR-03:COMV") +{ + field(DESC, "Communications Version") + field(DTYP, "stream") + field(INP, "@mks937a.protocol comv GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(PREC, "2") +} +################################################################################ +# Module in Slot CC +# +#% controldesk Slot CC smon +record(mbbi, "SR03A-VA-GCTLR-03:MCC") +{ + field(DESC, "Slot CC") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modcc GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot A +# +#% controldesk Slot A smon +record(mbbi, "SR03A-VA-GCTLR-03:MA") +{ + field(DESC, "Slot A") + field(DTYP, "stream") + field(INP, "@mks937a.protocol moda GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +# Module in Slot B +# +#% controldesk Slot B smon +record(mbbi, "SR03A-VA-GCTLR-03:MB") +{ + field(DESC, "Slot B") + field(DTYP, "stream") + field(INP, "@mks937a.protocol modb GCTLR_A_03_PORT 0") + field(SCAN, "10 second") + field(ZRST, "Hot Cathode") + field(ONST, "Cold Cathode") + field(TWST, "Dual Pirani") + field(THST, "Dual Cnv Pirani") + field(FRST, "Dual Thermocpl") + field(FVST, "Dual Cap Manmtr") + field(SXST, "Sngl Pirani") + field(SVST, "Sngl Cnv Pirani") + field(EIST, "Sngl Thrmcpl") + field(NIST, "Sngl Cap Manmtr") + field(TEST, "No Module") + field(ELST, "Wrong Module") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "NO_ALARM") + field(ELSV, "MAJOR") +} +################################################################################ +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-GCTLR-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-GCTLR-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-GCTLR-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-GCTLR-03:F.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-GCTLR-03:COMMS PP MS") + } +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_S_01, edm, mks937aGauge.edl, dom=SR03S, id=01, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_S_01, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 +# % gui, GAUGE_S_01, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 +# % gui, GAUGE_S_01, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03S, id=01, GCTLR=, name=GAUGE_S_01 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_S_01, readback, Pressure, SR03S-VA-GAUGE-01:P +# % gui, GAUGE_S_01, readback, Gauge, SR03S-VA-GAUGE-01:GAUGE +# % gui, GAUGE_S_01, enum, Setpoints Overwrite, SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03S-VA-GAUGE-01:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03S-VA-GAUGE-01:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03S-VA-IMG-01:STA") + field(INPB, "SR03S-VA-PIRG-01:STA") +} + +record(mbbi, "SR03S-VA-GAUGE-01:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03S-VA-GAUGE-01:SEL") + field(FLNK, "SR03S-VA-GAUGE-01:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03S-VA-GAUGE-01:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03S-VA-GAUGE-01:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03S-VA-GAUGE-01:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03S-VA-GAUGE-01:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03S-VA-GAUGE-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-GAUGE-01:P.ADEL") + field(INPA, "SR03S-VA-GAUGE-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-01:CTL:SETSP") + field(OUT, "SR03S-VA-IMG-01:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-01:CTL:ENABLE") + field(OUT, "SR03S-VA-IMG-01:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03S-VA-PIRG-01:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03S-VA-IMG-01:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03S-VA-PIRG-01:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03S-VA-IMG-01:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03S-VA-PIRG-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-GAUGE-01:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-GAUGE-01:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-GAUGE-01:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-01:CTL:ENABLE") + field(LNK2, "SR03S-VA-GAUGE-01:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03S-VA-GAUGE-01:SEL",20,46,0,0,"SR03S-VA-GAUGE-01:SEL") +#! Field("SR03S-VA-GAUGE-01:SEL.FLNK",16777215,1,"SR03S-VA-GAUGE-01:SEL.FLNK") +#! Link("SR03S-VA-GAUGE-01:SEL.FLNK","SR03S-VA-GAUGE-01:GAUGE") +#! Field("SR03S-VA-GAUGE-01:SEL.INPA",16777215,1,"SR03S-VA-GAUGE-01:SEL.INPA") +#! Field("SR03S-VA-GAUGE-01:SEL.INPB",16777215,1,"SR03S-VA-GAUGE-01:SEL.INPB") +#! Field("SR03S-VA-GAUGE-01:SEL.VAL",16777215,1,"SR03S-VA-GAUGE-01:SEL.VAL") +#! Record("SR03S-VA-GAUGE-01:GAUGE",300,65,0,0,"SR03S-VA-GAUGE-01:GAUGE") +#! Field("SR03S-VA-GAUGE-01:GAUGE.INP",16777215,0,"SR03S-VA-GAUGE-01:GAUGE.INP") +#! Link("SR03S-VA-GAUGE-01:GAUGE.INP","SR03S-VA-GAUGE-01:SEL.VAL") +#! Field("SR03S-VA-GAUGE-01:GAUGE.FLNK",16777215,1,"SR03S-VA-GAUGE-01:GAUGE.FLNK") +#! Link("SR03S-VA-GAUGE-01:GAUGE.FLNK","SR03S-VA-GAUGE-01:P") +#! Record("SR03S-VA-GAUGE-01:PLOG",500,17,0,0,"SR03S-VA-GAUGE-01:PLOG") +#! Field("SR03S-VA-GAUGE-01:PLOG.VAL",16777215,1,"SR03S-VA-GAUGE-01:PLOG.VAL") +#! Record("SR03S-VA-GAUGE-01:P",780,212,0,0,"SR03S-VA-GAUGE-01:P") +#! Field("SR03S-VA-GAUGE-01:P.INPA",16777215,0,"SR03S-VA-GAUGE-01:P.INPA") +#! Link("SR03S-VA-GAUGE-01:P.INPA","SR03S-VA-GAUGE-01:PLOG.VAL") +#! Field("SR03S-VA-GAUGE-01:P.ADEL",16777215,1,"SR03S-VA-GAUGE-01:P.ADEL") +#! Field("SR03S-VA-GAUGE-01:P.VAL",16777215,1,"SR03S-VA-GAUGE-01:P.VAL") +#! Record("SR03S-VA-GAUGE-01:ADEL",1060,260,0,0,"SR03S-VA-GAUGE-01:ADEL") +#! Field("SR03S-VA-GAUGE-01:ADEL.OUT",16777215,0,"SR03S-VA-GAUGE-01:ADEL.OUT") +#! Link("SR03S-VA-GAUGE-01:ADEL.OUT","SR03S-VA-GAUGE-01:P.ADEL") +#! Field("SR03S-VA-GAUGE-01:ADEL.INPA",16777215,0,"SR03S-VA-GAUGE-01:ADEL.INPA") +#! Link("SR03S-VA-GAUGE-01:ADEL.INPA","SR03S-VA-GAUGE-01:P.VAL") +#! Record("SR03S-VA-PIRG-01:CTL:SETSP",20,345,0,0,"SR03S-VA-PIRG-01:CTL:SETSP") +#! Field("SR03S-VA-PIRG-01:CTL:SETSP.FLNK",16777215,1,"SR03S-VA-PIRG-01:CTL:SETSP.FLNK") +#! Field("SR03S-VA-PIRG-01:CTL:SETSP.OUT",16777215,1,"SR03S-VA-PIRG-01:CTL:SETSP.OUT") +#! Record("SR03S-VA-PIRG-01:CTL:ENABLE",380,331,0,0,"SR03S-VA-PIRG-01:CTL:ENABLE") +#! Field("SR03S-VA-PIRG-01:CTL:ENABLE.FLNK",16777215,1,"SR03S-VA-PIRG-01:CTL:ENABLE.FLNK") +#! Field("SR03S-VA-PIRG-01:CTL:ENABLE.OUT",16777215,1,"SR03S-VA-PIRG-01:CTL:ENABLE.OUT") +#! Record("SR03S-VA-PIRG-01:CTL:SP",200,352,0,0,"SR03S-VA-PIRG-01:CTL:SP") +#! Field("SR03S-VA-PIRG-01:CTL:SP.INP",16777215,1,"SR03S-VA-PIRG-01:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_S_02, edm, mks937aGauge.edl, dom=SR03S, id=02, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_S_02, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 +# % gui, GAUGE_S_02, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 +# % gui, GAUGE_S_02, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03S, id=02, GCTLR=, name=GAUGE_S_02 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_S_02, readback, Pressure, SR03S-VA-GAUGE-02:P +# % gui, GAUGE_S_02, readback, Gauge, SR03S-VA-GAUGE-02:GAUGE +# % gui, GAUGE_S_02, enum, Setpoints Overwrite, SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03S-VA-GAUGE-02:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03S-VA-GAUGE-02:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03S-VA-IMG-02:STA") + field(INPB, "SR03S-VA-PIRG-02:STA") +} + +record(mbbi, "SR03S-VA-GAUGE-02:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03S-VA-GAUGE-02:SEL") + field(FLNK, "SR03S-VA-GAUGE-02:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03S-VA-GAUGE-02:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03S-VA-GAUGE-02:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03S-VA-GAUGE-02:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03S-VA-GAUGE-02:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03S-VA-GAUGE-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-GAUGE-02:P.ADEL") + field(INPA, "SR03S-VA-GAUGE-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-02:CTL:SETSP") + field(OUT, "SR03S-VA-IMG-02:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-02:CTL:ENABLE") + field(OUT, "SR03S-VA-IMG-02:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03S-VA-PIRG-02:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03S-VA-IMG-02:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03S-VA-PIRG-02:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03S-VA-IMG-02:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03S-VA-PIRG-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-GAUGE-02:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-GAUGE-02:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-GAUGE-02:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-02:CTL:ENABLE") + field(LNK2, "SR03S-VA-GAUGE-02:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03S-VA-GAUGE-02:SEL",20,46,0,0,"SR03S-VA-GAUGE-02:SEL") +#! Field("SR03S-VA-GAUGE-02:SEL.FLNK",16777215,1,"SR03S-VA-GAUGE-02:SEL.FLNK") +#! Link("SR03S-VA-GAUGE-02:SEL.FLNK","SR03S-VA-GAUGE-02:GAUGE") +#! Field("SR03S-VA-GAUGE-02:SEL.INPA",16777215,1,"SR03S-VA-GAUGE-02:SEL.INPA") +#! Field("SR03S-VA-GAUGE-02:SEL.INPB",16777215,1,"SR03S-VA-GAUGE-02:SEL.INPB") +#! Field("SR03S-VA-GAUGE-02:SEL.VAL",16777215,1,"SR03S-VA-GAUGE-02:SEL.VAL") +#! Record("SR03S-VA-GAUGE-02:GAUGE",300,65,0,0,"SR03S-VA-GAUGE-02:GAUGE") +#! Field("SR03S-VA-GAUGE-02:GAUGE.INP",16777215,0,"SR03S-VA-GAUGE-02:GAUGE.INP") +#! Link("SR03S-VA-GAUGE-02:GAUGE.INP","SR03S-VA-GAUGE-02:SEL.VAL") +#! Field("SR03S-VA-GAUGE-02:GAUGE.FLNK",16777215,1,"SR03S-VA-GAUGE-02:GAUGE.FLNK") +#! Link("SR03S-VA-GAUGE-02:GAUGE.FLNK","SR03S-VA-GAUGE-02:P") +#! Record("SR03S-VA-GAUGE-02:PLOG",500,17,0,0,"SR03S-VA-GAUGE-02:PLOG") +#! Field("SR03S-VA-GAUGE-02:PLOG.VAL",16777215,1,"SR03S-VA-GAUGE-02:PLOG.VAL") +#! Record("SR03S-VA-GAUGE-02:P",780,212,0,0,"SR03S-VA-GAUGE-02:P") +#! Field("SR03S-VA-GAUGE-02:P.INPA",16777215,0,"SR03S-VA-GAUGE-02:P.INPA") +#! Link("SR03S-VA-GAUGE-02:P.INPA","SR03S-VA-GAUGE-02:PLOG.VAL") +#! Field("SR03S-VA-GAUGE-02:P.ADEL",16777215,1,"SR03S-VA-GAUGE-02:P.ADEL") +#! Field("SR03S-VA-GAUGE-02:P.VAL",16777215,1,"SR03S-VA-GAUGE-02:P.VAL") +#! Record("SR03S-VA-GAUGE-02:ADEL",1060,260,0,0,"SR03S-VA-GAUGE-02:ADEL") +#! Field("SR03S-VA-GAUGE-02:ADEL.OUT",16777215,0,"SR03S-VA-GAUGE-02:ADEL.OUT") +#! Link("SR03S-VA-GAUGE-02:ADEL.OUT","SR03S-VA-GAUGE-02:P.ADEL") +#! Field("SR03S-VA-GAUGE-02:ADEL.INPA",16777215,0,"SR03S-VA-GAUGE-02:ADEL.INPA") +#! Link("SR03S-VA-GAUGE-02:ADEL.INPA","SR03S-VA-GAUGE-02:P.VAL") +#! Record("SR03S-VA-PIRG-02:CTL:SETSP",20,345,0,0,"SR03S-VA-PIRG-02:CTL:SETSP") +#! Field("SR03S-VA-PIRG-02:CTL:SETSP.FLNK",16777215,1,"SR03S-VA-PIRG-02:CTL:SETSP.FLNK") +#! Field("SR03S-VA-PIRG-02:CTL:SETSP.OUT",16777215,1,"SR03S-VA-PIRG-02:CTL:SETSP.OUT") +#! Record("SR03S-VA-PIRG-02:CTL:ENABLE",380,331,0,0,"SR03S-VA-PIRG-02:CTL:ENABLE") +#! Field("SR03S-VA-PIRG-02:CTL:ENABLE.FLNK",16777215,1,"SR03S-VA-PIRG-02:CTL:ENABLE.FLNK") +#! Field("SR03S-VA-PIRG-02:CTL:ENABLE.OUT",16777215,1,"SR03S-VA-PIRG-02:CTL:ENABLE.OUT") +#! Record("SR03S-VA-PIRG-02:CTL:SP",200,352,0,0,"SR03S-VA-PIRG-02:CTL:SP") +#! Field("SR03S-VA-PIRG-02:CTL:SP.INP",16777215,1,"SR03S-VA-PIRG-02:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_01, edm, mks937aGauge.edl, dom=SR03A, id=01, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_01, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 +# % gui, GAUGE_A_01, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 +# % gui, GAUGE_A_01, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=01, GCTLR=, name=GAUGE_A_01 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_01, readback, Pressure, SR03A-VA-GAUGE-01:P +# % gui, GAUGE_A_01, readback, Gauge, SR03A-VA-GAUGE-01:GAUGE +# % gui, GAUGE_A_01, enum, Setpoints Overwrite, SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-01:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-01:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-01:STA") + field(INPB, "SR03A-VA-PIRG-01:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-01:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-01:SEL") + field(FLNK, "SR03A-VA-GAUGE-01:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-01:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-01:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-01:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-01:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-01:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-01:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-01:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-01:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-01:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-01:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-01:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-01:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-01:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-01:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-01:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-01:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-01:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-01:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-01:SEL",20,46,0,0,"SR03A-VA-GAUGE-01:SEL") +#! Field("SR03A-VA-GAUGE-01:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-01:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-01:SEL.FLNK","SR03A-VA-GAUGE-01:GAUGE") +#! Field("SR03A-VA-GAUGE-01:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-01:SEL.INPA") +#! Field("SR03A-VA-GAUGE-01:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-01:SEL.INPB") +#! Field("SR03A-VA-GAUGE-01:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-01:SEL.VAL") +#! Record("SR03A-VA-GAUGE-01:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-01:GAUGE") +#! Field("SR03A-VA-GAUGE-01:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-01:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-01:GAUGE.INP","SR03A-VA-GAUGE-01:SEL.VAL") +#! Field("SR03A-VA-GAUGE-01:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-01:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-01:GAUGE.FLNK","SR03A-VA-GAUGE-01:P") +#! Record("SR03A-VA-GAUGE-01:PLOG",500,17,0,0,"SR03A-VA-GAUGE-01:PLOG") +#! Field("SR03A-VA-GAUGE-01:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-01:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-01:P",780,212,0,0,"SR03A-VA-GAUGE-01:P") +#! Field("SR03A-VA-GAUGE-01:P.INPA",16777215,0,"SR03A-VA-GAUGE-01:P.INPA") +#! Link("SR03A-VA-GAUGE-01:P.INPA","SR03A-VA-GAUGE-01:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-01:P.ADEL",16777215,1,"SR03A-VA-GAUGE-01:P.ADEL") +#! Field("SR03A-VA-GAUGE-01:P.VAL",16777215,1,"SR03A-VA-GAUGE-01:P.VAL") +#! Record("SR03A-VA-GAUGE-01:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-01:ADEL") +#! Field("SR03A-VA-GAUGE-01:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-01:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-01:ADEL.OUT","SR03A-VA-GAUGE-01:P.ADEL") +#! Field("SR03A-VA-GAUGE-01:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-01:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-01:ADEL.INPA","SR03A-VA-GAUGE-01:P.VAL") +#! Record("SR03A-VA-PIRG-01:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-01:CTL:SETSP") +#! Field("SR03A-VA-PIRG-01:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-01:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-01:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-01:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-01:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-01:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-01:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-01:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-01:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-01:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-01:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-01:CTL:SP") +#! Field("SR03A-VA-PIRG-01:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-01:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_02, edm, mks937aGauge.edl, dom=SR03A, id=02, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_02, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 +# % gui, GAUGE_A_02, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 +# % gui, GAUGE_A_02, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=02, GCTLR=, name=GAUGE_A_02 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_02, readback, Pressure, SR03A-VA-GAUGE-02:P +# % gui, GAUGE_A_02, readback, Gauge, SR03A-VA-GAUGE-02:GAUGE +# % gui, GAUGE_A_02, enum, Setpoints Overwrite, SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-02:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-02:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-02:STA") + field(INPB, "SR03A-VA-PIRG-02:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-02:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-02:SEL") + field(FLNK, "SR03A-VA-GAUGE-02:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-02:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-02:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-02:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-02:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-02:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-02:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-02:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-02:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-02:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-02:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-02:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-02:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-02:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-02:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-02:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-02:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-02:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-02:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-02:SEL",20,46,0,0,"SR03A-VA-GAUGE-02:SEL") +#! Field("SR03A-VA-GAUGE-02:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-02:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-02:SEL.FLNK","SR03A-VA-GAUGE-02:GAUGE") +#! Field("SR03A-VA-GAUGE-02:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-02:SEL.INPA") +#! Field("SR03A-VA-GAUGE-02:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-02:SEL.INPB") +#! Field("SR03A-VA-GAUGE-02:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-02:SEL.VAL") +#! Record("SR03A-VA-GAUGE-02:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-02:GAUGE") +#! Field("SR03A-VA-GAUGE-02:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-02:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-02:GAUGE.INP","SR03A-VA-GAUGE-02:SEL.VAL") +#! Field("SR03A-VA-GAUGE-02:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-02:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-02:GAUGE.FLNK","SR03A-VA-GAUGE-02:P") +#! Record("SR03A-VA-GAUGE-02:PLOG",500,17,0,0,"SR03A-VA-GAUGE-02:PLOG") +#! Field("SR03A-VA-GAUGE-02:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-02:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-02:P",780,212,0,0,"SR03A-VA-GAUGE-02:P") +#! Field("SR03A-VA-GAUGE-02:P.INPA",16777215,0,"SR03A-VA-GAUGE-02:P.INPA") +#! Link("SR03A-VA-GAUGE-02:P.INPA","SR03A-VA-GAUGE-02:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-02:P.ADEL",16777215,1,"SR03A-VA-GAUGE-02:P.ADEL") +#! Field("SR03A-VA-GAUGE-02:P.VAL",16777215,1,"SR03A-VA-GAUGE-02:P.VAL") +#! Record("SR03A-VA-GAUGE-02:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-02:ADEL") +#! Field("SR03A-VA-GAUGE-02:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-02:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-02:ADEL.OUT","SR03A-VA-GAUGE-02:P.ADEL") +#! Field("SR03A-VA-GAUGE-02:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-02:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-02:ADEL.INPA","SR03A-VA-GAUGE-02:P.VAL") +#! Record("SR03A-VA-PIRG-02:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-02:CTL:SETSP") +#! Field("SR03A-VA-PIRG-02:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-02:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-02:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-02:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-02:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-02:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-02:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-02:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-02:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-02:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-02:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-02:CTL:SP") +#! Field("SR03A-VA-PIRG-02:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-02:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_03, edm, mks937aGauge.edl, dom=SR03A, id=03, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_03, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 +# % gui, GAUGE_A_03, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 +# % gui, GAUGE_A_03, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=03, GCTLR=, name=GAUGE_A_03 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_03, readback, Pressure, SR03A-VA-GAUGE-03:P +# % gui, GAUGE_A_03, readback, Gauge, SR03A-VA-GAUGE-03:GAUGE +# % gui, GAUGE_A_03, enum, Setpoints Overwrite, SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-03:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-03:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-03:STA") + field(INPB, "SR03A-VA-PIRG-03:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-03:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-03:SEL") + field(FLNK, "SR03A-VA-GAUGE-03:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-03:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-03:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-03:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-03:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-03:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-03:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-03:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-03:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-03:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-03:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-03:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-03:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-03:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-03:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-03:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-03:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-03:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-03:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-03:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-03:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-03:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-03:SEL",20,46,0,0,"SR03A-VA-GAUGE-03:SEL") +#! Field("SR03A-VA-GAUGE-03:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-03:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-03:SEL.FLNK","SR03A-VA-GAUGE-03:GAUGE") +#! Field("SR03A-VA-GAUGE-03:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-03:SEL.INPA") +#! Field("SR03A-VA-GAUGE-03:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-03:SEL.INPB") +#! Field("SR03A-VA-GAUGE-03:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-03:SEL.VAL") +#! Record("SR03A-VA-GAUGE-03:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-03:GAUGE") +#! Field("SR03A-VA-GAUGE-03:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-03:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-03:GAUGE.INP","SR03A-VA-GAUGE-03:SEL.VAL") +#! Field("SR03A-VA-GAUGE-03:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-03:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-03:GAUGE.FLNK","SR03A-VA-GAUGE-03:P") +#! Record("SR03A-VA-GAUGE-03:PLOG",500,17,0,0,"SR03A-VA-GAUGE-03:PLOG") +#! Field("SR03A-VA-GAUGE-03:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-03:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-03:P",780,212,0,0,"SR03A-VA-GAUGE-03:P") +#! Field("SR03A-VA-GAUGE-03:P.INPA",16777215,0,"SR03A-VA-GAUGE-03:P.INPA") +#! Link("SR03A-VA-GAUGE-03:P.INPA","SR03A-VA-GAUGE-03:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-03:P.ADEL",16777215,1,"SR03A-VA-GAUGE-03:P.ADEL") +#! Field("SR03A-VA-GAUGE-03:P.VAL",16777215,1,"SR03A-VA-GAUGE-03:P.VAL") +#! Record("SR03A-VA-GAUGE-03:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-03:ADEL") +#! Field("SR03A-VA-GAUGE-03:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-03:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-03:ADEL.OUT","SR03A-VA-GAUGE-03:P.ADEL") +#! Field("SR03A-VA-GAUGE-03:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-03:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-03:ADEL.INPA","SR03A-VA-GAUGE-03:P.VAL") +#! Record("SR03A-VA-PIRG-03:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-03:CTL:SETSP") +#! Field("SR03A-VA-PIRG-03:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-03:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-03:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-03:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-03:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-03:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-03:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-03:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-03:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-03:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-03:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-03:CTL:SP") +#! Field("SR03A-VA-PIRG-03:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-03:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_04, edm, mks937aGauge.edl, dom=SR03A, id=04, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_04, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 +# % gui, GAUGE_A_04, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 +# % gui, GAUGE_A_04, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=04, GCTLR=, name=GAUGE_A_04 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_04, readback, Pressure, SR03A-VA-GAUGE-04:P +# % gui, GAUGE_A_04, readback, Gauge, SR03A-VA-GAUGE-04:GAUGE +# % gui, GAUGE_A_04, enum, Setpoints Overwrite, SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-04:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-04:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-04:STA") + field(INPB, "SR03A-VA-PIRG-04:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-04:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-04:SEL") + field(FLNK, "SR03A-VA-GAUGE-04:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-04:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-04:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-04:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-04:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-04:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-04:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-04:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-04:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-04:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-04:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-04:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-04:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-04:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-04:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-04:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-04:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-04:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-04:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-04:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-04:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-04:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-04:SEL",20,46,0,0,"SR03A-VA-GAUGE-04:SEL") +#! Field("SR03A-VA-GAUGE-04:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-04:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-04:SEL.FLNK","SR03A-VA-GAUGE-04:GAUGE") +#! Field("SR03A-VA-GAUGE-04:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-04:SEL.INPA") +#! Field("SR03A-VA-GAUGE-04:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-04:SEL.INPB") +#! Field("SR03A-VA-GAUGE-04:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-04:SEL.VAL") +#! Record("SR03A-VA-GAUGE-04:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-04:GAUGE") +#! Field("SR03A-VA-GAUGE-04:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-04:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-04:GAUGE.INP","SR03A-VA-GAUGE-04:SEL.VAL") +#! Field("SR03A-VA-GAUGE-04:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-04:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-04:GAUGE.FLNK","SR03A-VA-GAUGE-04:P") +#! Record("SR03A-VA-GAUGE-04:PLOG",500,17,0,0,"SR03A-VA-GAUGE-04:PLOG") +#! Field("SR03A-VA-GAUGE-04:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-04:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-04:P",780,212,0,0,"SR03A-VA-GAUGE-04:P") +#! Field("SR03A-VA-GAUGE-04:P.INPA",16777215,0,"SR03A-VA-GAUGE-04:P.INPA") +#! Link("SR03A-VA-GAUGE-04:P.INPA","SR03A-VA-GAUGE-04:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-04:P.ADEL",16777215,1,"SR03A-VA-GAUGE-04:P.ADEL") +#! Field("SR03A-VA-GAUGE-04:P.VAL",16777215,1,"SR03A-VA-GAUGE-04:P.VAL") +#! Record("SR03A-VA-GAUGE-04:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-04:ADEL") +#! Field("SR03A-VA-GAUGE-04:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-04:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-04:ADEL.OUT","SR03A-VA-GAUGE-04:P.ADEL") +#! Field("SR03A-VA-GAUGE-04:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-04:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-04:ADEL.INPA","SR03A-VA-GAUGE-04:P.VAL") +#! Record("SR03A-VA-PIRG-04:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-04:CTL:SETSP") +#! Field("SR03A-VA-PIRG-04:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-04:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-04:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-04:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-04:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-04:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-04:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-04:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-04:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-04:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-04:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-04:CTL:SP") +#! Field("SR03A-VA-PIRG-04:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-04:CTL:SP.INP") +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aGauge.db +#% macro, __doc__, Template database for a combination guage connected to +# two channels of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# Run on PHAS 1 to get most up to date values from IMG and Pirani +# +# required substitutions: +#% macro, dom, Domain 5 char string (e.g. BL11I) +#% macro, id, ID number as 2 digit string (e.g. 01) +#% macro, c, ADC card number +#% macro, s, ADC signal number +# +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# In the non-VME use case, do not define 'c' and 's', instead define 'aiinp' +# and 'aitype': typically 'aiinp' -> "0" (or another record) and 'aitype' -> 'Soft Channel'. +# Ian Gillingham: 31/7/13 + +# +# gui substitutions: +#% macro, name, The device's name for gui purposes +#% macro, GCTLR, The gauge controller PV prefix, for gui purposes +# +# optional substitutions: +#% macro, ctlsp_level, The desired control setpoint value (actually for the Pirg). +#% macro, ctlsp_drvh, The DRVH field on control setpoint records. +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records. +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records. +# (low operator value - helps display set correct range). +#% macro, ctlsp_desc, The DESC field on control setpoint records. +# (appears as a label on the Pirg EDM screen). +# +# GCTLR used for the controller button +# % gui, GAUGE_A_31, edm, mks937aGauge.edl, dom=SR03A, id=31, GCTLR= +# +# This associates BOY screens with the template +# % gui, GAUGE_A_31, boydetail, mks937aApp_opi/gauge_detail.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 +# % gui, GAUGE_A_31, boyembed, mks937aApp_opi/gauge_embed_box.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 +# % gui, GAUGE_A_31, boyembed, mks937aApp_opi/gauge_embed.opi, dom=SR03A, id=31, GCTLR=, name=GAUGE_A_31 + +# These define what PVs a valve detail screen should contain +# % gui, GAUGE_A_31, readback, Pressure, SR03A-VA-GAUGE-31:P +# % gui, GAUGE_A_31, readback, Gauge, SR03A-VA-GAUGE-31:GAUGE +# % gui, GAUGE_A_31, enum, Setpoints Overwrite, SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE + + +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(calc, "SR03A-VA-GAUGE-31:SEL") { + field(DESC, "Select Pressure") + field(SCAN, "1 second") + field(PHAS, "1") + field(FLNK, "SR03A-VA-GAUGE-31:GAUGE") + field(CALC, "A<2?0:(B<2?1:(B=8?1:2))") + field(INPA, "SR03A-VA-IMG-31:STA") + field(INPB, "SR03A-VA-PIRG-31:STA") +} + +record(mbbi, "SR03A-VA-GAUGE-31:GAUGE") { + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GAUGE-31:SEL") + field(FLNK, "SR03A-VA-GAUGE-31:P") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} + +################################################################################ +# Pressure +# Note that as of 31st July 2013, the DTYP and INP fields allow flexibility +# for implementation on non-VME systems, where the analogue input would be +# derived from another record and DTYP might be Soft Channel. +# Ian Gillingham: 31/7/13 +# +#% archiver 0.1 Monitor +# +# :PLOG processes passively driven by :P at .1 second scan +# this used to be a hardware support type, but recently has the option +# of any input source, including other PVs from ADC ai records, which assume +# a DTYP of Soft Channel. Soft Channel however will not convert or use EGUF, EGUL etc. +# So for this scenario it is necessary to apply a factor to the input ADC Soft Channel +# Log value, i.e. add Log(1000/760). (See mks937aPlogADC.template). +# +record(ai, "SR03A-VA-GAUGE-31:PLOG") { + field(DESC, "log Pressure") + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-GAUGE-31:RAW:EGU CP") + field(EGU, "log") + field(LINR, "LINEAR") +# field(EGUF, "4.6") +# field(EGUL, "-28.6") +# torr to mbar add .15 +# field(EGUF, "4.75") +# field(EGUL, "-28.45") +# P = (1000/760)*10^((V/0.6)-12) + field(EGUF, "4.786") + field(EGUL, "-28.548") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} + + +# +#% controldesk Pressure readback +#% archiver 0.1 Monitor +# +record(calc, "SR03A-VA-GAUGE-31:P") { + field(DESC, "Pressure") + field(EGU, "mbar") + field(PREC, "11") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GAUGE-31:PLOG PP MS") + field(SCAN, ".1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +record(calcout, "SR03A-VA-GAUGE-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-GAUGE-31:P.ADEL") + field(INPA, "SR03A-VA-GAUGE-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-31:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-31:CTL:SETSP") + field(OUT, "SR03A-VA-IMG-31:CTL:SETSP") + field(EGU, "mbar") + field(SDIS, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL, "1.0e-2") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-31:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-31:CTL:ENABLE") + field(OUT, "SR03A-VA-IMG-31:CTL:ENABLE") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +# +#% archiver 10 Monitor +#% controldesk IMG Enable readback +# +record(ai, "SR03A-VA-PIRG-31:CTL:SP") { + field(DESC, "IMG Enable") + field(INP, "SR03A-VA-IMG-31:CTL:SP MS") + field(SCAN, "1 second") + field(PHAS, "1") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} + +# Readback the state of the instrument to determine the true CTL:ENABLE state +# this is used in the PIRG Override Interlocks EDM screen for the drop-down +# control for IMG Enable +# +record(mbbi, "SR03A-VA-PIRG-31:CTL:GETENABLE") + { + field(DESC, "Read Disable Setpoint") + field(INP, "SR03A-VA-IMG-31:CTL:GETDISCALC PP") + field(SCAN, "1 second") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume a zero INP link (from :CONSTZERO above) and do nothing. +# +# This is essentially a copy of the global record below, but in the domain +# of the PIRG instance, so available to EDM screen. +# +record(bi, "SR03A-VA-PIRG-31:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "1") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# NB: INP had to be removed to allow autosave to correctly restore. +# +#% autosave 0 VAL +record(bi, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(PHAS, "0") + #field(INP, "0") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-GAUGE-31:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-GAUGE-31:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-GAUGE-31:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-31:CTL:ENABLE") + field(LNK2, "SR03A-VA-GAUGE-31:INITSETSPSDIS") + field(SELM, "All") +} + +#! Further lines contain data used by VisualDCT +#! View(0,0,1.0) +#! Record("SR03A-VA-GAUGE-31:SEL",20,46,0,0,"SR03A-VA-GAUGE-31:SEL") +#! Field("SR03A-VA-GAUGE-31:SEL.FLNK",16777215,1,"SR03A-VA-GAUGE-31:SEL.FLNK") +#! Link("SR03A-VA-GAUGE-31:SEL.FLNK","SR03A-VA-GAUGE-31:GAUGE") +#! Field("SR03A-VA-GAUGE-31:SEL.INPA",16777215,1,"SR03A-VA-GAUGE-31:SEL.INPA") +#! Field("SR03A-VA-GAUGE-31:SEL.INPB",16777215,1,"SR03A-VA-GAUGE-31:SEL.INPB") +#! Field("SR03A-VA-GAUGE-31:SEL.VAL",16777215,1,"SR03A-VA-GAUGE-31:SEL.VAL") +#! Record("SR03A-VA-GAUGE-31:GAUGE",300,65,0,0,"SR03A-VA-GAUGE-31:GAUGE") +#! Field("SR03A-VA-GAUGE-31:GAUGE.INP",16777215,0,"SR03A-VA-GAUGE-31:GAUGE.INP") +#! Link("SR03A-VA-GAUGE-31:GAUGE.INP","SR03A-VA-GAUGE-31:SEL.VAL") +#! Field("SR03A-VA-GAUGE-31:GAUGE.FLNK",16777215,1,"SR03A-VA-GAUGE-31:GAUGE.FLNK") +#! Link("SR03A-VA-GAUGE-31:GAUGE.FLNK","SR03A-VA-GAUGE-31:P") +#! Record("SR03A-VA-GAUGE-31:PLOG",500,17,0,0,"SR03A-VA-GAUGE-31:PLOG") +#! Field("SR03A-VA-GAUGE-31:PLOG.VAL",16777215,1,"SR03A-VA-GAUGE-31:PLOG.VAL") +#! Record("SR03A-VA-GAUGE-31:P",780,212,0,0,"SR03A-VA-GAUGE-31:P") +#! Field("SR03A-VA-GAUGE-31:P.INPA",16777215,0,"SR03A-VA-GAUGE-31:P.INPA") +#! Link("SR03A-VA-GAUGE-31:P.INPA","SR03A-VA-GAUGE-31:PLOG.VAL") +#! Field("SR03A-VA-GAUGE-31:P.ADEL",16777215,1,"SR03A-VA-GAUGE-31:P.ADEL") +#! Field("SR03A-VA-GAUGE-31:P.VAL",16777215,1,"SR03A-VA-GAUGE-31:P.VAL") +#! Record("SR03A-VA-GAUGE-31:ADEL",1060,260,0,0,"SR03A-VA-GAUGE-31:ADEL") +#! Field("SR03A-VA-GAUGE-31:ADEL.OUT",16777215,0,"SR03A-VA-GAUGE-31:ADEL.OUT") +#! Link("SR03A-VA-GAUGE-31:ADEL.OUT","SR03A-VA-GAUGE-31:P.ADEL") +#! Field("SR03A-VA-GAUGE-31:ADEL.INPA",16777215,0,"SR03A-VA-GAUGE-31:ADEL.INPA") +#! Link("SR03A-VA-GAUGE-31:ADEL.INPA","SR03A-VA-GAUGE-31:P.VAL") +#! Record("SR03A-VA-PIRG-31:CTL:SETSP",20,345,0,0,"SR03A-VA-PIRG-31:CTL:SETSP") +#! Field("SR03A-VA-PIRG-31:CTL:SETSP.FLNK",16777215,1,"SR03A-VA-PIRG-31:CTL:SETSP.FLNK") +#! Field("SR03A-VA-PIRG-31:CTL:SETSP.OUT",16777215,1,"SR03A-VA-PIRG-31:CTL:SETSP.OUT") +#! Record("SR03A-VA-PIRG-31:CTL:ENABLE",380,331,0,0,"SR03A-VA-PIRG-31:CTL:ENABLE") +#! Field("SR03A-VA-PIRG-31:CTL:ENABLE.FLNK",16777215,1,"SR03A-VA-PIRG-31:CTL:ENABLE.FLNK") +#! Field("SR03A-VA-PIRG-31:CTL:ENABLE.OUT",16777215,1,"SR03A-VA-PIRG-31:CTL:ENABLE.OUT") +#! Record("SR03A-VA-PIRG-31:CTL:SP",200,352,0,0,"SR03A-VA-PIRG-31:CTL:SP") +#! Field("SR03A-VA-PIRG-31:CTL:SP.INP",16777215,1,"SR03A-VA-PIRG-31:CTL:SP.INP") +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03S-VA-GAUGE-01:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GAUGE-01:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03S-VA-GAUGE-02:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GAUGE-02:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-01:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-01:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-02:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-02:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-03:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-03:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-04:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-04:RAW CP MS") +} +################################################################################ +# mks937aPlogEGU.template +# +# Template to read mks937a pressure from another device (PLC) in EGUs. This template +# converts to LOG and is to be used as the input to the PLOG PV +# +# substitutions: +# % macro, device, device name +# % macro, p_egu_pv, Raw value ADC PV name +################################################################################ + +#% archiver 20 Monitor +record(calc, "SR03A-VA-GAUGE-31:RAW:EGU") +{ + field(DESC, "Conversion of P to PLOG") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GAUGE-31:RAW CP MS") +} +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03S-VA-IMG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03S-VA-IMG-01, desc=SR03S-VA-IMG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-IMG-01:P +# % gui, , readback, Status, SR03S-VA-IMG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03S-VA-IMG-01:RLY1:SP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03S-VA-IMG-01:RLY1:SPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03S-VA-IMG-01:RLY2:SP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03S-VA-IMG-01:RLY3:SP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03S-VA-IMG-01:ISENABLED +# % gui, , enum, Cold Cathode, SR03S-VA-IMG-01:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03S-VA-IMG-01:CTL:SETCCS, =concat(pv("SR03S-VA-IMG-01:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03S-VA-IMG-01:CTL:SETMODE, =concat(pv("SR03S-VA-IMG-01:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03S-VA-IMG-01:PRO:SP, =pv("SR03S-VA-IMG-01:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03S-VA-IMG-01:RLY1:SP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03S-VA-IMG-01:RLY1:SPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03S-VA-IMG-01:RLY2:SP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03S-VA-IMG-01:RLY2:SPOFF, =pv("SR03S-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03S-VA-IMG-01:RLY3:SP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03S-VA-IMG-01:RLY3:SPOFF, =pv("SR03S-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03S-VA-IMG-01:RLY4:SP, =pv("SR03S-VA-IMG-01:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03S-VA-IMG-01:RLY4:SPOFF, =pv("SR03S-VA-IMG-01:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03S-VA-IMG-01:FRLY:SP, =pv("SR03S-VA-IMG-01:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03S-VA-IMG-01:PRO:OUTSP, =pv("SR03S-VA-IMG-01:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03S-VA-IMG-01:RLY1:SETSP, =pv("SR03S-VA-IMG-01:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03S-VA-IMG-01:RLY1:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03S-VA-IMG-01:RLY2:SETSP, =pv("SR03S-VA-IMG-01:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03S-VA-IMG-01:RLY2:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03S-VA-IMG-01:RLY3:SETSP, =pv("SR03S-VA-IMG-01:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03S-VA-IMG-01:RLY3:SETSPOFF, =pv("SR03S-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03S-VA-IMG-01:RLY4:SETSP, =pv("SR03S-VA-IMG-01:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03S-VA-IMG-01:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-01:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03S-VA-IMG-01:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-IMG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IMG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-IMG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03S-VA-IMG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-IMG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IMG-01:P.ADEL") + field(INPA, "SR03S-VA-IMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IMG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IMG-01:P MS") + field(FLNK, "SR03S-VA-IMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03S-VA-IMG-01:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03S-VA-IMG-01:P MS") + field(FLNK, "SR03S-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03S-VA-IMG-01:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03S-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03S-VA-IMG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-01:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03S-VA-IMG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-01:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:CTL:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:CTL:SETSP") + field(LNK2, "SR03S-VA-IMG-01:CTL:OUTSP PP") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03S-VA-IMG-01:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03S-VA-IMG-01:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_S_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03S-VA-IMG-01:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03S-VA-IMG-01:CTL:GETDIS") + field(INPA, "SR03S-VA-IMG-01:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03S-VA-IMG-01:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03S-VA-IMG-01:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03S-VA-IMG-01:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-IMG-01:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-IMG-01:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:PRO:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:PRO:SETSP") + field(LNK2, "SR03S-VA-IMG-01:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03S-VA-IMG-01:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-01:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_S_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03S-VA-IMG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:RLY:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:RLY:SETSP") + field(LNK2, "SR03S-VA-IMG-01:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03S-VA-IMG-01:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-01:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_S_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03S-VA-IMG-01:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-01:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-IMG-01:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-01:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-01:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-01:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-01:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-01:RLA:DIS PP") + field(DOL2, "SR03S-VA-IMG-01:RLA:SETSP") + field(LNK2, "SR03S-VA-IMG-01:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03S-VA-IMG-01:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03S-VA-IMG-01:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03S-VA-IMG-01) GCTLR_S_01_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03S-VA-IMG-01:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_S_01_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03S-VA-IMG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-IMG-01:STA") + field(FLNK, "SR03S-VA-IMG-01:P") +} + + + +record(bi, "SR03S-VA-IMG-01:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-IMG-01:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-IMG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IMG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-IMG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-IMG-01:CTL:ENABLE") + field(LNK2, "SR03S-VA-IMG-01:PRO:ENABLE") + field(LNK3, "SR03S-VA-IMG-01:RLY:ENABLE") + field(LNK4, "SR03S-VA-IMG-01:RLA:ENABLE") + field(LNK5, "SR03S-VA-IMG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IMG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03S-VA-IMG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03S-VA-IMG-02, desc=SR03S-VA-IMG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-IMG-02:P +# % gui, , readback, Status, SR03S-VA-IMG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03S-VA-IMG-02:RLY1:SP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03S-VA-IMG-02:RLY1:SPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03S-VA-IMG-02:RLY2:SP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03S-VA-IMG-02:RLY3:SP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03S-VA-IMG-02:ISENABLED +# % gui, , enum, Cold Cathode, SR03S-VA-IMG-02:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03S-VA-IMG-02:CTL:SETCCS, =concat(pv("SR03S-VA-IMG-02:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03S-VA-IMG-02:CTL:SETMODE, =concat(pv("SR03S-VA-IMG-02:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03S-VA-IMG-02:PRO:SP, =pv("SR03S-VA-IMG-02:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03S-VA-IMG-02:RLY1:SP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03S-VA-IMG-02:RLY1:SPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03S-VA-IMG-02:RLY2:SP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03S-VA-IMG-02:RLY2:SPOFF, =pv("SR03S-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03S-VA-IMG-02:RLY3:SP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03S-VA-IMG-02:RLY3:SPOFF, =pv("SR03S-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03S-VA-IMG-02:RLY4:SP, =pv("SR03S-VA-IMG-02:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03S-VA-IMG-02:RLY4:SPOFF, =pv("SR03S-VA-IMG-02:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03S-VA-IMG-02:FRLY:SP, =pv("SR03S-VA-IMG-02:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03S-VA-IMG-02:PRO:OUTSP, =pv("SR03S-VA-IMG-02:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03S-VA-IMG-02:RLY1:SETSP, =pv("SR03S-VA-IMG-02:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03S-VA-IMG-02:RLY1:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03S-VA-IMG-02:RLY2:SETSP, =pv("SR03S-VA-IMG-02:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03S-VA-IMG-02:RLY2:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03S-VA-IMG-02:RLY3:SETSP, =pv("SR03S-VA-IMG-02:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03S-VA-IMG-02:RLY3:SETSPOFF, =pv("SR03S-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03S-VA-IMG-02:RLY4:SETSP, =pv("SR03S-VA-IMG-02:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03S-VA-IMG-02:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-02:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03S-VA-IMG-02:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-IMG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IMG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-IMG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-IMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03S-VA-IMG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-IMG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IMG-02:P.ADEL") + field(INPA, "SR03S-VA-IMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IMG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IMG-02:P MS") + field(FLNK, "SR03S-VA-IMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03S-VA-IMG-02:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03S-VA-IMG-02:P MS") + field(FLNK, "SR03S-VA-IMG-02:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03S-VA-IMG-02:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03S-VA-IMG-02:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03S-VA-IMG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-IMG-02:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03S-VA-IMG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-IMG-02:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:CTL:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:CTL:SETSP") + field(LNK2, "SR03S-VA-IMG-02:CTL:OUTSP PP") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03S-VA-IMG-02:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03S-VA-IMG-02:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_S_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03S-VA-IMG-02:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03S-VA-IMG-02:CTL:GETDIS") + field(INPA, "SR03S-VA-IMG-02:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03S-VA-IMG-02:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03S-VA-IMG-02:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03S-VA-IMG-02:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-IMG-02:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-IMG-02:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:PRO:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:PRO:SETSP") + field(LNK2, "SR03S-VA-IMG-02:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03S-VA-IMG-02:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-02:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_S_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03S-VA-IMG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:RLY:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:RLY:SETSP") + field(LNK2, "SR03S-VA-IMG-02:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03S-VA-IMG-02:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-IMG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + } + +record(bo, "SR03S-VA-IMG-02:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_S_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03S-VA-IMG-02:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-IMG-02:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-IMG-02:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-IMG-02:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-IMG-02:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03S-VA-IMG-02:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-IMG-02:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IMG-02:RLA:DIS PP") + field(DOL2, "SR03S-VA-IMG-02:RLA:SETSP") + field(LNK2, "SR03S-VA-IMG-02:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03S-VA-IMG-02:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03S-VA-IMG-02:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03S-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03S-VA-IMG-02) GCTLR_S_01_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03S-VA-IMG-02:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_S_01_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03S-VA-IMG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-IMG-02:STA") + field(FLNK, "SR03S-VA-IMG-02:P") +} + + + +record(bi, "SR03S-VA-IMG-02:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-IMG-02:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03S-VA-IMG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IMG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-IMG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-IMG-02:CTL:ENABLE") + field(LNK2, "SR03S-VA-IMG-02:PRO:ENABLE") + field(LNK3, "SR03S-VA-IMG-02:RLY:ENABLE") + field(LNK4, "SR03S-VA-IMG-02:RLA:ENABLE") + field(LNK5, "SR03S-VA-IMG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IMG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-01, desc=SR03A-VA-IMG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-01:P +# % gui, , readback, Status, SR03A-VA-IMG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-01:RLY1:SP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-01:RLY1:SPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-01:RLY2:SP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-01:RLY3:SP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-01:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-01:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-01:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-01:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-01:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-01:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-01:PRO:SP, =pv("SR03A-VA-IMG-01:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-01:RLY1:SP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-01:RLY1:SPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-01:RLY2:SP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-01:RLY2:SPOFF, =pv("SR03A-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-01:RLY3:SP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-01:RLY3:SPOFF, =pv("SR03A-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-01:RLY4:SP, =pv("SR03A-VA-IMG-01:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-01:RLY4:SPOFF, =pv("SR03A-VA-IMG-01:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-01:FRLY:SP, =pv("SR03A-VA-IMG-01:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-01:PRO:OUTSP, =pv("SR03A-VA-IMG-01:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-01:RLY1:SETSP, =pv("SR03A-VA-IMG-01:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-01:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-01:RLY2:SETSP, =pv("SR03A-VA-IMG-01:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-01:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-01:RLY3:SETSP, =pv("SR03A-VA-IMG-01:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-01:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-01:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-01:RLY4:SETSP, =pv("SR03A-VA-IMG-01:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-01:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-01:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-01:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-01:P.ADEL") + field(INPA, "SR03A-VA-IMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-01:P MS") + field(FLNK, "SR03A-VA-IMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-01:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-01:P MS") + field(FLNK, "SR03A-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-01:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-01:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-01:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03A-VA-IMG-01:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-01:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-01:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-01:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-01:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_A_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-01:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-01:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-01:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-01:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-01:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-01:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-01:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-01:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-01:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-01:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-01:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_A_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-01:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-01:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-01:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_A_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-01:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-01:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-01:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-01:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-01:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-01:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-01:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-01:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-01:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-01:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-01:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03A-VA-IMG-01:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-01) GCTLR_A_01_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03A-VA-IMG-01:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_01_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03A-VA-IMG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-01:STA") + field(FLNK, "SR03A-VA-IMG-01:P") +} + + + +record(bi, "SR03A-VA-IMG-01:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-01:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-01:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-01:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-01:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-01:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-01:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-02, desc=SR03A-VA-IMG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-02:P +# % gui, , readback, Status, SR03A-VA-IMG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-02:RLY1:SP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-02:RLY1:SPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-02:RLY2:SP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-02:RLY3:SP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-02:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-02:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-02:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-02:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-02:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-02:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-02:PRO:SP, =pv("SR03A-VA-IMG-02:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-02:RLY1:SP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-02:RLY1:SPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-02:RLY2:SP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-02:RLY2:SPOFF, =pv("SR03A-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-02:RLY3:SP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-02:RLY3:SPOFF, =pv("SR03A-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-02:RLY4:SP, =pv("SR03A-VA-IMG-02:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-02:RLY4:SPOFF, =pv("SR03A-VA-IMG-02:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-02:FRLY:SP, =pv("SR03A-VA-IMG-02:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-02:PRO:OUTSP, =pv("SR03A-VA-IMG-02:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-02:RLY1:SETSP, =pv("SR03A-VA-IMG-02:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-02:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-02:RLY2:SETSP, =pv("SR03A-VA-IMG-02:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-02:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-02:RLY3:SETSP, =pv("SR03A-VA-IMG-02:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-02:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-02:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-02:RLY4:SETSP, =pv("SR03A-VA-IMG-02:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-02:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-02:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-02:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-IMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-02:P.ADEL") + field(INPA, "SR03A-VA-IMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-02:P MS") + field(FLNK, "SR03A-VA-IMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-02:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-02:P MS") + field(FLNK, "SR03A-VA-IMG-02:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-02:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-02:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-02:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-02:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03A-VA-IMG-02:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-02:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-02:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-02:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-02:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_01_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-02:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-02:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-02:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-02:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-02:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-02:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-02:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-02:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-02:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-02:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-02:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_01_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-02:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-02:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + } + +record(bo, "SR03A-VA-IMG-02:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_01_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-02:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-02:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-02:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-02:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-02:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-02:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-02:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-02:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-02:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-02:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-02:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-02:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-02) GCTLR_A_01_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-02:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_01_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-02:STA") + field(FLNK, "SR03A-VA-IMG-02:P") +} + + + +record(bi, "SR03A-VA-IMG-02:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-02:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-02:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-02:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-02:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-02:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-02:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-03 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-03, desc=SR03A-VA-IMG-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-03:P +# % gui, , readback, Status, SR03A-VA-IMG-03:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-03:RLY1:SP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-03:RLY1:SPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-03:RLY2:SP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-03:RLY3:SP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-03:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-03:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-03:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-03:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-03:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-03:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-03:PRO:SP, =pv("SR03A-VA-IMG-03:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-03:RLY1:SP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-03:RLY1:SPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-03:RLY2:SP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-03:RLY2:SPOFF, =pv("SR03A-VA-IMG-03:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-03:RLY3:SP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-03:RLY3:SPOFF, =pv("SR03A-VA-IMG-03:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-03:RLY4:SP, =pv("SR03A-VA-IMG-03:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-03:RLY4:SPOFF, =pv("SR03A-VA-IMG-03:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-03:FRLY:SP, =pv("SR03A-VA-IMG-03:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-03:PRO:OUTSP, =pv("SR03A-VA-IMG-03:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-03:RLY1:SETSP, =pv("SR03A-VA-IMG-03:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-03:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-03:RLY2:SETSP, =pv("SR03A-VA-IMG-03:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-03:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-03:RLY3:SETSP, =pv("SR03A-VA-IMG-03:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-03:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-03:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-03:RLY4:SETSP, =pv("SR03A-VA-IMG-03:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-03:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-IMG-03:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-03:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-03:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_02_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-03:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-03:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-IMG-03:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-03:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-03:P.ADEL") + field(INPA, "SR03A-VA-IMG-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-03:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-03:P MS") + field(FLNK, "SR03A-VA-IMG-03:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-03:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-03:P MS") + field(FLNK, "SR03A-VA-IMG-03:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-03:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-03:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-03:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-03:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03A-VA-IMG-03:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-03:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-03:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-03:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-03:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_02_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-03:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-03:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-03:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-03:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-03:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-03:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-03:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-03:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-03:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-03:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-03:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_02_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-03:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-03:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-03:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-03:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-03:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + } + +record(bo, "SR03A-VA-IMG-03:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_02_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-03:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-03:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-03:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-03:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-03:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-03:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-03:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-03:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-03:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-03:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-03:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-03:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-03:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-03) GCTLR_A_02_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-03:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_02_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-03:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-03:STA") + field(FLNK, "SR03A-VA-IMG-03:P") +} + + + +record(bi, "SR03A-VA-IMG-03:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-03:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-03:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-03:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-03:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-03:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-03:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-03:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-03:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-03:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-03:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-03:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-03:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 2 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-04 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-04, desc=SR03A-VA-IMG-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-04:P +# % gui, , readback, Status, SR03A-VA-IMG-04:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-04:RLY1:SP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-04:RLY1:SPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-04:RLY2:SP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-04:RLY3:SP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-04:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-04:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-04:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-04:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-04:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-04:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-04:PRO:SP, =pv("SR03A-VA-IMG-04:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-04:RLY1:SP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-04:RLY1:SPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-04:RLY2:SP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-04:RLY2:SPOFF, =pv("SR03A-VA-IMG-04:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-04:RLY3:SP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-04:RLY3:SPOFF, =pv("SR03A-VA-IMG-04:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-04:RLY4:SP, =pv("SR03A-VA-IMG-04:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-04:RLY4:SPOFF, =pv("SR03A-VA-IMG-04:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-04:FRLY:SP, =pv("SR03A-VA-IMG-04:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-04:PRO:OUTSP, =pv("SR03A-VA-IMG-04:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-04:RLY1:SETSP, =pv("SR03A-VA-IMG-04:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-04:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-04:RLY2:SETSP, =pv("SR03A-VA-IMG-04:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-04:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-04:RLY3:SETSP, =pv("SR03A-VA-IMG-04:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-04:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-04:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-04:RLY4:SETSP, =pv("SR03A-VA-IMG-04:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-04:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(2) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-04:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-04:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-04:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(2) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-04:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-04:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(2) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-04:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-04:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-04:P.ADEL") + field(INPA, "SR03A-VA-IMG-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-04:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-04:P MS") + field(FLNK, "SR03A-VA-IMG-04:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-04:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-04:P MS") + field(FLNK, "SR03A-VA-IMG-04:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-04:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-04:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-04:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-04:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03A-VA-IMG-04:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-04:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-04:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-04:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,CTL,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-04:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,CTL,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,CTL) GCTLR_A_03_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-04:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-04:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-04:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-04:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-04:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-04:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-04:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-04:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-04:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-04:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,PRO,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-04:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,PRO,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,PRO) GCTLR_A_03_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-04:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-04:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-04:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-04:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(2,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-04:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(2,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-04:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(2,RLY) GCTLR_A_03_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-04:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "2") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-04:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-04:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "2") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-04:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-04:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "2") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-04:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-04:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-04:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-04:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-04:RLA:OUTSP PP") + field(DISA, "2") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-04:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "2") +} + +record(ao, "SR03A-VA-IMG-04:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-04:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-04) GCTLR_A_03_PORT 0") + field(DISA, "2") + } + +record(bo, "SR03A-VA-IMG-04:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_03_PORT 0") + field(DISA, "2") +} + +record(calc, "SR03A-VA-IMG-04:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-04:STA") + field(FLNK, "SR03A-VA-IMG-04:P") +} + + + +record(bi, "SR03A-VA-IMG-04:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-04:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-04:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-04:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-04:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-04:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-04:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-04:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-04:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-04:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-04:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-04:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-04:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aImg.db +#% macro, __doc__, Template database for an inverted magnetron guage connected +# to one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# IG Note: Historically, some of these records have DISA field switched on 1 +# The reason seems to be to disable record processing for RLA when that interlock +# is not relevant to the gauge - i.e. IMG-03 would typically not have an MPS interlock +# so should switch it off. I think this is a bit of a flakey way to do it, as any exceptional +# cases would not fit this method. Probably needs re-working sometime. +# IJG 12 August 2014 +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, ctlsp_level, The desired control setpoint value. +#% macro, ctlsp_drvh, The DRVH field on control setpoint records +# (limits max value of control setpoint) +#% macro, ctlsp_drvl, The DRVL field on control setpoint records. +# (limits min value of control setpoint) +#% macro, ctlsp_hopr, The HOPR field on control setpoint records +# (high operator value - helps display set correct range). +#% macro, ctlsp_lopr, The LOPR field on control setpoint records +# (low operator value - helps display set correct range). +#% macro, ctlsp_hihi, The HIHI alarm field on the control setpoint record. +#% macro, ctlsp_lolo, The LOLO alarm field on the control setpoint record. +#% macro, ctlsp_high, The HIGH alarm field on the control setpoint record. +#% macro, ctlsp_low , The LOW alarm field on the control setpoint record. +#% macro, ctlsp_desc, The DESC field on the control setpoint record. +# +#% macro, prosp_level, The desired protection setpoint value. +#% macro, prosp_drvh, The DRVH field on protection setpoint records +# (limits max value of protection setpoint) +#% macro, prosp_drvl, The DRVL field on protection setpoint records. +# (limits min value of protection setpoint) +#% macro, prosp_hopr, The HOPR field on protection setpoint records +# (high operator value - helps display set correct range). +#% macro, prosp_lopr, The LOPR field on protection setpoint records +# (low operator value - helps display set correct range). +#% macro, prosp_hihi, The HIHI alarm field on the protection setpoint record. +#% macro, prosp_lolo, The LOLO alarm field on the protection setpoint record. +#% macro, prosp_high, The HIGH alarm field on the protection setpoint record. +#% macro, prosp_low , The LOW alarm field on the protection setpoint record. +#% macro, prosp_desc, The DESC field on the protection setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlysp_level, The desired relay setpoint value. +#% macro, rlysp_drvh, The DRVH field on relay setpdoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint record +# (appears as a label on the Img EDM screen). +# +#% macro, rlasp_drvh, The DRVH field on second relay setpoint records +# (limits max value of second relay setpoint) +#% macro, rlasp_drvl, The DRVL field on second relay setpoint records. +# (limits min value of second relay setpoint) +#% macro, rlasp_hopr, The HOPR field on second relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlasp_lopr, The LOPR field on second relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlasp_hihi, The HIHI alarm field on the second relay setpoint record. +#% macro, rlasp_lolo, The LOLO alarm field on the second relay setpoint record. +#% macro, rlasp_high, The HIGH alarm field on the second relay setpoint record. +#% macro, rlasp_low , The LOW alarm field on the second relay setpoint record. +#% macro, rlasp_desc, The DESC field on the second relay setpoint record. +#% macro, offwarn, Flag to display a warning that switching off the IMG could trip the beam +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aImg.edl, device=SR03A-VA-IMG-31 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/img_detail.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= +# % gui, , boyembed, mks937aApp_opi/img_embed_box.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= +# % gui, , boyembed, mks937aApp_opi/img_embed.opi, device=SR03A-VA-IMG-31, desc=SR03A-VA-IMG-31, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-IMG-31:P +# % gui, , readback, Status, SR03A-VA-IMG-31:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE +# % gui, , readback, Relay 1 on SetPoint for Summary, SR03A-VA-IMG-31:RLY1:SP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , readback, Relay 1 off SetPoint for Summary, SR03A-VA-IMG-31:RLY1:SPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 on SetPoint for Summary, SR03A-VA-IMG-31:RLY2:SP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , readback, Relay 3 on SetPoint for Summary, SR03A-VA-IMG-31:RLY3:SP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +## TODO The below gives us feedback on what the state actually is - without this you get the current demand +## (as per differences between EDM and CSS enum menus) +# % gui, , readback, Cold Cathode, SR03A-VA-IMG-31:ISENABLED +# % gui, , enum, Cold Cathode, SR03A-VA-IMG-31:CCHV + +# % gui, , readback, CTL SP Controlling Gauge, SR03A-VA-IMG-31:CTL:SETCCS, =concat(pv("SR03A-VA-IMG-31:CTL:SP.DESC")," Gauge") +# % gui, , readback, CTL SP MODE, SR03A-VA-IMG-31:CTL:SETMODE, =concat(pv("SR03A-VA-IMG-31:CTL:SP.DESC")," Mode") +# % gui, , readback, Pro Setpoint, SR03A-VA-IMG-31:PRO:SP, =pv("SR03A-VA-IMG-31:PRO:SP.DESC") +# % gui, , readback, Relay 1 On Setpoint, SR03A-VA-IMG-31:RLY1:SP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , readback, Relay 1 Off Setpoint, SR03A-VA-IMG-31:RLY1:SPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , readback, Relay 2 On Setpoint, SR03A-VA-IMG-31:RLY2:SP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , readback, Relay 2 Off Setpoint, SR03A-VA-IMG-31:RLY2:SPOFF, =pv("SR03A-VA-IMG-31:RLY2:SPOFF.DESC") +# % gui, , readback, Relay 3 On Setpoint, SR03A-VA-IMG-31:RLY3:SP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +# % gui, , readback, Relay 3 Off Setpoint, SR03A-VA-IMG-31:RLY3:SPOFF, =pv("SR03A-VA-IMG-31:RLY3:SPOFF.DESC") +# % gui, , readback, Relay 4 On Setpoint, SR03A-VA-IMG-31:RLY4:SP, =pv("SR03A-VA-IMG-31:RLY4:SP.DESC") +# % gui, , readback, Relay 4 Off Setpoint, SR03A-VA-IMG-31:RLY4:SPOFF, =pv("SR03A-VA-IMG-31:RLY4:SPOFF.DESC") +# % gui, , readback, Fast Relay On Setpoint, SR03A-VA-IMG-31:FRLY:SP, =pv("SR03A-VA-IMG-31:FRLY:SP.DESC") + +# % gui, , demand, Pro Setpoint, SR03A-VA-IMG-31:PRO:OUTSP, =pv("SR03A-VA-IMG-31:PRO:SP.DESC") +# % gui, , demand, Relay 1 On Setpoint, SR03A-VA-IMG-31:RLY1:SETSP, =pv("SR03A-VA-IMG-31:RLY1:SP.DESC") +# % gui, , demand, Relay 1 Off Setpoint, SR03A-VA-IMG-31:RLY1:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY1:SPOFF.DESC") +# % gui, , demand, Relay 2 On Setpoint, SR03A-VA-IMG-31:RLY2:SETSP, =pv("SR03A-VA-IMG-31:RLY2:SP.DESC") +# % gui, , demand, Relay 2 Off Setpoint, SR03A-VA-IMG-31:RLY2:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY2:SPOFF.DESC") +# % gui, , demand, Relay 3 On Setpoint, SR03A-VA-IMG-31:RLY3:SETSP, =pv("SR03A-VA-IMG-31:RLY3:SP.DESC") +# % gui, , demand, Relay 3 Off Setpoint, SR03A-VA-IMG-31:RLY3:SETSPOFF, =pv("SR03A-VA-IMG-31:RLY3:SPOFF.DESC") +# % gui, , demand, Relay 4 On Setpoint, SR03A-VA-IMG-31:RLY4:SETSP, =pv("SR03A-VA-IMG-31:RLY4:SP.DESC") +# +# Cold Cathode Enable +# +#% archiver 10 Monitor +#% controldesk Pressure scon +# +record(bo, "SR03A-VA-IMG-31:CCHV") { + field(DESC, "Cold Cathode Enable") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol ccenable(1) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-31:STA") + field(ZNAM, "Off") + field(ONAM, "On") +} + +record(bi, "SR03A-VA-IMG-31:SWITCHING") { + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Switching") +} + +################################################################################ +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-IMG-31:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(1) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IMG-31:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-IMG-31:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(1) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-IMG-31:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") + field(SDIS, "SR03A-VA-IMG-31:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-IMG-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IMG-31:P.ADEL") + field(INPA, "SR03A-VA-IMG-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IMG-31:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IMG-31:P MS") + field(FLNK, "SR03A-VA-IMG-31:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(ai, "SR03A-VA-IMG-31:PMAX") +{ + field(DESC, "Max Pressure") + field(INP, "SR03A-VA-IMG-31:P MS") + field(FLNK, "SR03A-VA-IMG-31:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(ai, "SR03A-VA-IMG-31:PMIN") +{ + field(DESC, "Min Pressure") + field(INP, "SR03A-VA-IMG-31:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Control - IMG Enable +# +record(ao, "SR03A-VA-IMG-31:CTL:SETSP") { + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-IMG-31:CTL:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(DRVH, "0.95") + field(DRVL, "0.0027") + field(DOL, "0.01") +} + +record(mbbo, "SR03A-VA-IMG-31:CTL:ENABLE") { + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-IMG-31:CTL:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:CTL:SEQ") { + field(DESC, "Sequence Control Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:CTL:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:CTL:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:CTL:SETSP") + field(LNK2, "SR03A-VA-IMG-31:CTL:OUTSP PP") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") +} + +record(ai, "SR03A-VA-IMG-31:CTL:SP") + { + field(DESC, "IMG Enable") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,CTL,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(PINI, "YES") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.95") + field(LOPR, "0.0027") + field(HIHI, "0.96") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + } + +record(ao, "SR03A-VA-IMG-31:CTL:OUTSP") + { + field(DESC, "Output Control Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,CTL,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:CTL:DIS") + { + field(DESC, "Disable Control Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,CTL) GCTLR_A_03_PORT 0") + } + +# Get the implied disabled state of the CTL:SETSP +# if CTL:SP returns a non-zero value, then it is not disabled +# and it's in the mode "I/L Operating" +# +record(calcout, "SR03A-VA-IMG-31:CTL:GETDISCALC") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "1 second") + field(OUT, "SR03A-VA-IMG-31:CTL:GETDIS") + field(INPA, "SR03A-VA-IMG-31:CTL:SP.VAL PP") + field(CALC, "A<1e-10?0:1") + field(FLNK, "SR03A-VA-IMG-31:CTL:GETDIS") + } +# Convert the above disabled state to mbbi +record(mbbi, "SR03A-VA-IMG-31:CTL:GETDIS") + { + field(DESC, "Read Disable Setpoint") + field(SCAN, "Passive") + field(INP, "SR03A-VA-IMG-31:CTL:GETDISCALC") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + } + +################################################################################ +# Protection - IMG Overpressure +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:PRO:SETSP") { + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-IMG-31:PRO:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(DRVH, "0.01") + field(DRVL, "1.3e-05") + field(DOL, "0.0005") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:PRO:ENABLE") { + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-IMG-31:PRO:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:PRO:SEQ") + { + field(DESC, "Sequence Protection Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:PRO:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:PRO:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:PRO:SETSP") + field(LNK2, "SR03A-VA-IMG-31:PRO:OUTSP PP") + } + +# +#% archiver 10 Monitor +#% controldesk IMG Overpressure readback +# +record(ai, "SR03A-VA-IMG-31:PRO:SP") { + field(DESC, "IMG Overpressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,PRO,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.01") + field(LOPR, "1.3e-05") + field(HIHI, "0.011") + field(LOLO, "1.2e-05") + field(HIGH, "0.00051") + field(LOW, "0.00049") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-31:PRO:OUTSP") + { + field(DESC, "Output Protection Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,PRO,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:PRO:DIS") { + field(DESC, "Disable Protection Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,PRO) GCTLR_A_03_PORT 0") +} + +################################################################################ +# Relay - Valve Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:RLY:SETSP") { + field(DESC, "Valve Interlock") + field(FLNK, "SR03A-VA-IMG-31:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DOL, "1e-06") + field(SDIS, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:RLY:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-31:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:RLY:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:RLY:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:RLY:SETSP") + field(LNK2, "SR03A-VA-IMG-31:RLY:OUTSP PP") +} + +# +#% archiver 10 Monitor +#% controldesk Valve Interlock readback +# +record(ai, "SR03A-VA-IMG-31:RLY:SP") { + field(DESC, "Valve Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(1,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-06") + field(LOW, "9e-07") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-IMG-31:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(1,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + } + +record(bo, "SR03A-VA-IMG-31:RLY:DIS") + { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(1,RLY) GCTLR_A_03_PORT 0") + } + +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(calc, "SR03A-VA-IMG-31:RLA:EXISTS") { + field(DESC, "Relay Exists") + field(CALC, "A=B?0:1") + field(INPA, "1") + field(INPB, "1") + field(PINI, "YES") +} + +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-IMG-31:RLA:SETSP") { + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-IMG-31:RLA:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(DRVH, "0.012") + field(DRVL, "2.7e-10") + field(DISA, "1") + field(DOL, "1.0e-7") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-IMG-31:RLA:ENABLE") { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-IMG-31:RLA:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DISA, "1") + field(DOL, "1") + #field(PINI, "YES") +} + +record(seq, "SR03A-VA-IMG-31:RLA:SEQ") { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-IMG-31:RLA:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IMG-31:RLA:DIS PP") + field(DOL2, "SR03A-VA-IMG-31:RLA:SETSP") + field(LNK2, "SR03A-VA-IMG-31:RLA:OUTSP PP") + field(DISA, "1") +} + +# +#% archiver 10 Monitor +#% controldesk MPS Interlock readback +# +record(ai, "SR03A-VA-IMG-31:RLA:SP") { + field(DESC, "MPS Interlock") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(3,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "0.012") + field(LOPR, "2.7e-10") + field(HIHI, "0.013") + field(LOLO, "2.6e-10") + field(HIGH, "1.1e-07") + field(LOW, "9e-08") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(DISA, "1") +} + +record(ao, "SR03A-VA-IMG-31:RLA:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(SDIS, "SR03A-VA-IMG-31:RLA:ILKSETSP:NOWRITE") + field(OUT, "@mks937a.protocol setsp(3,RLY,SR03A-VA-IMG-31) GCTLR_A_03_PORT 0") + field(DISA, "1") + } + +record(bo, "SR03A-VA-IMG-31:RLA:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(3,RLY) GCTLR_A_03_PORT 0") + field(DISA, "1") +} + +record(calc, "SR03A-VA-IMG-31:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-IMG-31:STA") + field(FLNK, "SR03A-VA-IMG-31:P") +} + + + +record(bi, "SR03A-VA-IMG-31:OFFWARN") +{ + field(DESC, "Warning for OFF button") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Warning off") + field(ONAM, "Warning on") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-IMG-31:PRO:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These four records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-IMG-31:PRO:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:RLA:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-IMG-31:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV refered by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# +record(bo, "SR03A-VA-IMG-31:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IMG-31:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-IMG-31:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-IMG-31:CTL:ENABLE") + field(LNK2, "SR03A-VA-IMG-31:PRO:ENABLE") + field(LNK3, "SR03A-VA-IMG-31:RLY:ENABLE") + field(LNK4, "SR03A-VA-IMG-31:RLA:ENABLE") + field(LNK5, "SR03A-VA-IMG-31:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IMG-31:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03S-VA-PIRG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03S-VA-PIRG-01, desc=SR03S-VA-PIRG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-PIRG-01:P +# % gui, , readback, Status, SR03S-VA-PIRG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-PIRG-01:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03S-VA-PIRG-01:CTL:SP, =pv("SR03S-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03S-VA-PIRG-01:RLY1:SP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03S-VA-PIRG-01:RLY2:SP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03S-VA-PIRG-01:ENABLE +# % gui, , readback, CTL Setpoint On, SR03S-VA-PIRG-01:CTL:SP, =pv("SR03S-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03S-VA-PIRG-01:CTL:HYST, =pv("SR03S-VA-PIRG-01:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03S-VA-PIRG-01:RLY1:SP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03S-VA-PIRG-01:RLY1:SPOFF, =pv("SR03S-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03S-VA-PIRG-01:RLY2:SP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03S-VA-PIRG-01:RLY2:SPOFF, =pv("SR03S-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03S-VA-PIRG-01:CTL:SETSP, =pv("SR03S-VA-PIRG-01:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03S-VA-PIRG-01:CTL:SETSPOFF, =pv("SR03S-VA-PIRG-01:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03S-VA-PIRG-01:RLY1:SETSP, =pv("SR03S-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03S-VA-PIRG-01:RLY1:SETSPOFF, =pv("SR03S-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03S-VA-PIRG-01:RLY2:SETSP, =pv("SR03S-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03S-VA-PIRG-01:RLY2:SETSPOFF, =pv("SR03S-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03S-VA-PIRG-01:RLY1:MODE, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03S-VA-PIRG-01:RLY1:DIR, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03S-VA-PIRG-01:RLY2:MODE, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03S-VA-PIRG-01:RLY2:DIR, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03S-VA-PIRG-01:RLY1:SETMODE, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03S-VA-PIRG-01:RLY1:SETDIR, =concat(pv("SR03S-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03S-VA-PIRG-01:RLY2:SETMODE, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03S-VA-PIRG-01:RLY2:SETDIR, =concat(pv("SR03S-VA-PIRG-01:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-PIRG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-PIRG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-PIRG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-PIRG-01:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03S-VA-PIRG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-PIRG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-PIRG-01:P.ADEL") + field(INPA, "SR03S-VA-PIRG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-PIRG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-PIRG-01:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-01:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-PIRG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-01:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-PIRG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03S-VA-PIRG-01:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-PIRG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-PIRG-01:RLY:DIS PP") + field(DOL2, "SR03S-VA-PIRG-01:RLY:SETSP") + field(LNK2, "SR03S-VA-PIRG-01:RLY:OUTSP PP") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03S-VA-PIRG-01:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03S-VA-PIRG-01) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-PIRG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03S-VA-PIRG-01) GCTLR_S_01_PORT 0") + field(SDIS, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03S-VA-PIRG-01:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_S_01_PORT 0") +} + +record(calc, "SR03S-VA-PIRG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-PIRG-01:STA") + field(FLNK, "SR03S-VA-PIRG-01:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-PIRG-01:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-PIRG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03S-VA-PIRG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-PIRG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-PIRG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-01:RLY:ENABLE") + field(LNK2, "SR03S-VA-PIRG-01:RLY:SETSP") + field(LNK3, "SR03S-VA-PIRG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-PIRG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03S-VA-PIRG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03S-VA-PIRG-02, desc=SR03S-VA-PIRG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03S-VA-PIRG-02:P +# % gui, , readback, Status, SR03S-VA-PIRG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03S-VA-PIRG-02:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03S-VA-PIRG-02:CTL:SP, =pv("SR03S-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03S-VA-PIRG-02:RLY1:SP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03S-VA-PIRG-02:RLY2:SP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03S-VA-PIRG-02:ENABLE +# % gui, , readback, CTL Setpoint On, SR03S-VA-PIRG-02:CTL:SP, =pv("SR03S-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03S-VA-PIRG-02:CTL:HYST, =pv("SR03S-VA-PIRG-02:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03S-VA-PIRG-02:RLY1:SP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03S-VA-PIRG-02:RLY1:SPOFF, =pv("SR03S-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03S-VA-PIRG-02:RLY2:SP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03S-VA-PIRG-02:RLY2:SPOFF, =pv("SR03S-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03S-VA-PIRG-02:CTL:SETSP, =pv("SR03S-VA-PIRG-02:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03S-VA-PIRG-02:CTL:SETSPOFF, =pv("SR03S-VA-PIRG-02:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03S-VA-PIRG-02:RLY1:SETSP, =pv("SR03S-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03S-VA-PIRG-02:RLY1:SETSPOFF, =pv("SR03S-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03S-VA-PIRG-02:RLY2:SETSP, =pv("SR03S-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03S-VA-PIRG-02:RLY2:SETSPOFF, =pv("SR03S-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03S-VA-PIRG-02:RLY1:MODE, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03S-VA-PIRG-02:RLY1:DIR, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03S-VA-PIRG-02:RLY2:MODE, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03S-VA-PIRG-02:RLY2:DIR, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03S-VA-PIRG-02:RLY1:SETMODE, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03S-VA-PIRG-02:RLY1:SETDIR, =concat(pv("SR03S-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03S-VA-PIRG-02:RLY2:SETMODE, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03S-VA-PIRG-02:RLY2:SETDIR, =concat(pv("SR03S-VA-PIRG-02:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03S-VA-PIRG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_S_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-PIRG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03S-VA-PIRG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_S_01_PORT 0") + field(FLNK, "SR03S-VA-PIRG-02:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03S-VA-PIRG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03S-VA-PIRG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-PIRG-02:P.ADEL") + field(INPA, "SR03S-VA-PIRG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-PIRG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-PIRG-02:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03S-VA-PIRG-02:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-PIRG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03S-VA-PIRG-02:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-PIRG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03S-VA-PIRG-02:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03S-VA-PIRG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03S-VA-PIRG-02:RLY:DIS PP") + field(DOL2, "SR03S-VA-PIRG-02:RLY:SETSP") + field(LNK2, "SR03S-VA-PIRG-02:RLY:OUTSP PP") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03S-VA-PIRG-02:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03S-VA-PIRG-02) GCTLR_S_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03S-VA-PIRG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03S-VA-PIRG-02) GCTLR_S_01_PORT 0") + field(SDIS, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03S-VA-PIRG-02:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_S_01_PORT 0") +} + +record(calc, "SR03S-VA-PIRG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03S-VA-PIRG-02:STA") + field(FLNK, "SR03S-VA-PIRG-02:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03S-VA-PIRG-02:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03S-VA-PIRG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03S-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03S-VA-PIRG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-PIRG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03S-VA-PIRG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03S-VA-PIRG-02:RLY:ENABLE") + field(LNK2, "SR03S-VA-PIRG-02:RLY:SETSP") + field(LNK3, "SR03S-VA-PIRG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-PIRG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-01 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-01, desc=SR03A-VA-PIRG-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-01:P +# % gui, , readback, Status, SR03A-VA-PIRG-01:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-01:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-01:CTL:SP, =pv("SR03A-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-01:RLY1:SP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-01:RLY2:SP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-01:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-01:CTL:SP, =pv("SR03A-VA-PIRG-01:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-01:CTL:HYST, =pv("SR03A-VA-PIRG-01:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-01:RLY1:SP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-01:RLY1:SPOFF, =pv("SR03A-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-01:RLY2:SP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-01:RLY2:SPOFF, =pv("SR03A-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-01:CTL:SETSP, =pv("SR03A-VA-PIRG-01:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-01:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-01:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-01:RLY1:SETSP, =pv("SR03A-VA-PIRG-01:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-01:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-01:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-01:RLY2:SETSP, =pv("SR03A-VA-PIRG-01:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-01:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-01:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-01:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-01:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-01:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-01:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-01:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-01:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-01:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-01:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-01:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-01:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-01:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-01:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-01:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-PIRG-01:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-01:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-01:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-01:P.ADEL") + field(INPA, "SR03A-VA-PIRG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-01:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-01:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-01:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-01:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-01:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-01:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-01:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-01:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-01:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-01:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-01:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-01:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03A-VA-PIRG-01) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-01:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03A-VA-PIRG-01) GCTLR_A_01_PORT 0") + field(SDIS, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-01:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_A_01_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-01:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-01:STA") + field(FLNK, "SR03A-VA-PIRG-01:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-01:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-01:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-01:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-01:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-01:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-01:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-01:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-01:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-01:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-01:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-02 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-02, desc=SR03A-VA-PIRG-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-02:P +# % gui, , readback, Status, SR03A-VA-PIRG-02:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-02:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-02:CTL:SP, =pv("SR03A-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-02:RLY1:SP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-02:RLY2:SP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-02:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-02:CTL:SP, =pv("SR03A-VA-PIRG-02:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-02:CTL:HYST, =pv("SR03A-VA-PIRG-02:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-02:RLY1:SP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-02:RLY1:SPOFF, =pv("SR03A-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-02:RLY2:SP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-02:RLY2:SPOFF, =pv("SR03A-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-02:CTL:SETSP, =pv("SR03A-VA-PIRG-02:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-02:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-02:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-02:RLY1:SETSP, =pv("SR03A-VA-PIRG-02:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-02:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-02:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-02:RLY2:SETSP, =pv("SR03A-VA-PIRG-02:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-02:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-02:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-02:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-02:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-02:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-02:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-02:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-02:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-02:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-02:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-02:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-02:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-02:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_01_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-02:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-02:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_01_PORT 0") + field(FLNK, "SR03A-VA-PIRG-02:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-02:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-02:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-02:P.ADEL") + field(INPA, "SR03A-VA-PIRG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-02:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-02:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-02:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-02:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-02:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-02:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-02:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-02:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-02:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-02:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-02:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-02:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-02) GCTLR_A_01_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-02:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-02) GCTLR_A_01_PORT 0") + field(SDIS, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-02:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_01_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-02:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-02:STA") + field(FLNK, "SR03A-VA-PIRG-02:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-02:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-02:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-02:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-02:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-02:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-02:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-02:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-02:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-02:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-02:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-03 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-03, desc=SR03A-VA-PIRG-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-03:P +# % gui, , readback, Status, SR03A-VA-PIRG-03:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-03:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-03:CTL:SP, =pv("SR03A-VA-PIRG-03:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-03:RLY1:SP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-03:RLY2:SP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-03:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-03:CTL:SP, =pv("SR03A-VA-PIRG-03:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-03:CTL:HYST, =pv("SR03A-VA-PIRG-03:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-03:RLY1:SP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-03:RLY1:SPOFF, =pv("SR03A-VA-PIRG-03:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-03:RLY2:SP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-03:RLY2:SPOFF, =pv("SR03A-VA-PIRG-03:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-03:CTL:SETSP, =pv("SR03A-VA-PIRG-03:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-03:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-03:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-03:RLY1:SETSP, =pv("SR03A-VA-PIRG-03:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-03:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-03:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-03:RLY2:SETSP, =pv("SR03A-VA-PIRG-03:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-03:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-03:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-03:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-03:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-03:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-03:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-03:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-03:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-03:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-03:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-03:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-03:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-03:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_02_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-03:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-03:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_02_PORT 0") + field(FLNK, "SR03A-VA-PIRG-03:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-03:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-03:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-03:P.ADEL") + field(INPA, "SR03A-VA-PIRG-03:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-03:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-03:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-03:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-03:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-03:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-03:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-03:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-03:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-03:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-03:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-03:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-03:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-03) GCTLR_A_02_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-03:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-03) GCTLR_A_02_PORT 0") + field(SDIS, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-03:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_02_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-03:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-03:STA") + field(FLNK, "SR03A-VA-PIRG-03:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-03:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-03:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-03:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-03:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-03:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-03:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-03:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-03:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-03:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-03:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-04 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-04, desc=SR03A-VA-PIRG-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-04:P +# % gui, , readback, Status, SR03A-VA-PIRG-04:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-04:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-04:CTL:SP, =pv("SR03A-VA-PIRG-04:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-04:RLY1:SP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-04:RLY2:SP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-04:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-04:CTL:SP, =pv("SR03A-VA-PIRG-04:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-04:CTL:HYST, =pv("SR03A-VA-PIRG-04:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-04:RLY1:SP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-04:RLY1:SPOFF, =pv("SR03A-VA-PIRG-04:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-04:RLY2:SP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-04:RLY2:SPOFF, =pv("SR03A-VA-PIRG-04:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-04:CTL:SETSP, =pv("SR03A-VA-PIRG-04:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-04:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-04:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-04:RLY1:SETSP, =pv("SR03A-VA-PIRG-04:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-04:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-04:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-04:RLY2:SETSP, =pv("SR03A-VA-PIRG-04:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-04:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-04:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-04:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-04:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-04:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-04:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-04:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-04:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-04:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-04:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-04:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-04:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-04:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(5) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-04:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-04:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(5) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-PIRG-04:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-04:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-04:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-04:P.ADEL") + field(INPA, "SR03A-VA-PIRG-04:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-04:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-04:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-04:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-04:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-04:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-04:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-04:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-04:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-04:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-04:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-04:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-04:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(5,RLY,SR03A-VA-PIRG-04) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-04:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(5,RLY,SR03A-VA-PIRG-04) GCTLR_A_03_PORT 0") + field(SDIS, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-04:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(5,RLY) GCTLR_A_03_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-04:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-04:STA") + field(FLNK, "SR03A-VA-PIRG-04:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-04:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-04:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-04:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-04:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-04:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-04:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-04:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-04:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-04:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-04:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +#! Generated by VisualDCT v2.5 +#! DBDSTART +#! DBDEND + + +# mks937aPirg.db +#% macro, __doc__, Template database for a pirani guage connected to +# one channel of an MKS937A Multi-Sensor System +# A note on the optional macros: they default to an appropriate hard-coded +# value if no value is passed for expansion. +# They are provided to allow the default set points to be changed. +# Once the set point needs to be changed it may be necessary to alter +# various other fields defining the range of allowed values. +# For the majority of applications the defaults should be used. The levels +# should only be changed at the request of the vacuum group for non-standard +# vacuum systems. +# +# required substitutions: +#% macro, device, device name +#% macro, port, serial port (steam device code ie /ty/0/1 => ty_0_1) +#% macro, channel, MKS 937A channel number (1-4) +# +# optional substitutions: +#% macro, name, Object name, and gui association name +#% macro, rlysp_level, The desired relay setpoint value for the PIRG device. +#% macro, rlysp_drvh, The DRVH field on control setpoint records +# (limits max value of relay setpoint) +#% macro, rlysp_drvl, The DRVL field on relay setpoint records. +# (limits min value of relay setpoint) +#% macro, rlysp_hopr, The HOPR field on relay setpoint records +# (high operator value - helps display set correct range). +#% macro, rlysp_lopr, The LOPR field on relay setpoint records +# (low operator value - helps display set correct range). +#% macro, rlysp_hihi, The HIHI alarm field on the relay setpoint record. +#% macro, rlysp_lolo, The LOLO alarm field on the relay setpoint record. +#% macro, rlysp_high, The HIGH alarm field on the relay setpoint record. +#% macro, rlysp_low , The LOW alarm field on the relay setpoint record. +#% macro, rlysp_desc, The DESC field on the relay setpoint records +# (appears as a label on the Pirg EDM screen). +#% macro, ilk_write_access_pv, bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, mks937aPirg.edl, device=SR03A-VA-PIRG-31 + +# This associates BOY screens with the template +# % gui, , boydetail, mks937aApp_opi/pirg_detail.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed_box.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= +# % gui, , boyembed, mks937aApp_opi/pirg_embed.opi, device=SR03A-VA-PIRG-31, desc=SR03A-VA-PIRG-31, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Pressure, SR03A-VA-PIRG-31:P +# % gui, , readback, Status, SR03A-VA-PIRG-31:STA +# % gui, , readback, Gauge Setpoint Write, SR03A-VA-PIRG-31:ILKSETSP:NOWRITE +# % gui, , readback, CTL Setpoint Summary, SR03A-VA-PIRG-31:CTL:SP, =pv("SR03A-VA-PIRG-31:CTL:SP.DESC") +# % gui, , readback, RLY1 Setpoint Summary, SR03A-VA-PIRG-31:RLY1:SP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , readback, RLY2 Setpoint Summary, SR03A-VA-PIRG-31:RLY2:SP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , enum, PirgFilament, SR03A-VA-PIRG-31:ENABLE +# % gui, , readback, CTL Setpoint On, SR03A-VA-PIRG-31:CTL:SP, =pv("SR03A-VA-PIRG-31:CTL:SP.DESC") +# % gui, , readback, CTL Setpoint Off, SR03A-VA-PIRG-31:CTL:HYST, =pv("SR03A-VA-PIRG-31:CTL:SETSPOFF.DESC") +# % gui, , readback, RLY1 Setpoint On, SR03A-VA-PIRG-31:RLY1:SP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , readback, RLY1 Setpoint Off, SR03A-VA-PIRG-31:RLY1:SPOFF, =pv("SR03A-VA-PIRG-31:RLY1:SPOFF.DESC") +# % gui, , readback, RLY2 Setpoint On, SR03A-VA-PIRG-31:RLY2:SP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , readback, RLY2 Setpoint Off, SR03A-VA-PIRG-31:RLY2:SPOFF, =pv("SR03A-VA-PIRG-31:RLY2:SPOFF.DESC") +# % gui, , demand, CTL Setpoint On, SR03A-VA-PIRG-31:CTL:SETSP, =pv("SR03A-VA-PIRG-31:SP.DESC") +# % gui, , demand, CTL Setpoint Off, SR03A-VA-PIRG-31:CTL:SETSPOFF, =pv("SR03A-VA-PIRG-31:SPOFF.DESC") +# % gui, , demand, RLY1 Setpoint On, SR03A-VA-PIRG-31:RLY1:SETSP, =pv("SR03A-VA-PIRG-31:RLY1:SP.DESC") +# % gui, , demand, RLY1 Setpoint Off, SR03A-VA-PIRG-31:RLY1:SETSPOFF, =pv("SR03A-VA-PIRG-31:RLY1:SPOFF.DESC") +# % gui, , demand, RLY2 Setpoint On, SR03A-VA-PIRG-31:RLY2:SETSP, =pv("SR03A-VA-PIRG-31:RLY2:SP.DESC") +# % gui, , demand, RLY2 Setpoint Off, SR03A-VA-PIRG-31:RLY2:SETSPOFF, =pv("SR03A-VA-PIRG-31:RLY2:SPOFF.DESC") +# % gui, , readback, RLY1 Mode, SR03A-VA-PIRG-31:RLY1:MODE, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Mode") +# % gui, , readback, RLY1 Direction, SR03A-VA-PIRG-31:RLY1:DIR, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Dir") +# % gui, , readback, RLY2 Mode, SR03A-VA-PIRG-31:RLY2:MODE, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Mode") +# % gui, , readback, RLY2 Direction, SR03A-VA-PIRG-31:RLY2:DIR, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Dir") +# % gui, , enum, RLY1 Mode, SR03A-VA-PIRG-31:RLY1:SETMODE, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Mode") +# % gui, , enum, RLY1 Direction, SR03A-VA-PIRG-31:RLY1:SETDIR, =concat(pv("SR03A-VA-PIRG-31:RLY1:SP.DESC")," Dir") +# % gui, , enum, RLY2 Mode, SR03A-VA-PIRG-31:RLY2:SETMODE, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Mode") +# % gui, , enum, RLY2 Direction, SR03A-VA-PIRG-31:RLY2:SETDIR, =concat(pv("SR03A-VA-PIRG-31:RLY2:SP.DESC")," Dir") + +# Status +# +#% archiver 10 Monitor +#% controldesk Pressure smon +# +record(mbbi, "SR03A-VA-PIRG-31:STA") { + field(DTYP, "stream") + field(INP, "@mks937a.protocol status(4) GCTLR_A_03_PORT 0") + field(DESC, "Status") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-PIRG-31:PDIS") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} + +############################################################################# +# Pressure +# +# % archiver 1 Monitor +# % controldesk Pressure readback +record(ai, "SR03A-VA-PIRG-31:P") { + field(DESC, "Pressure") + field(DTYP, "stream") + field(INP, "@mks937a.protocol pressure(4) GCTLR_A_03_PORT 0") + field(FLNK, "SR03A-VA-PIRG-31:PLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "1000") + field(LOPR, "0.001") + field(SDIS, "SR03A-VA-PIRG-31:PDIS") + field(DISS, "INVALID") +} + +record(calcout, "SR03A-VA-PIRG-31:ADEL") { + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-PIRG-31:P.ADEL") + field(INPA, "SR03A-VA-PIRG-31:P") + field(INPB, "20") + field(SCAN, "10 second") +} + +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-PIRG-31:PLOG") { + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-PIRG-31:P MS") + field(HOPR, "3") + field(LOPR, "-3") + field(ADEL, "0.025") +} + + +################################################################################ +# Relay - Ion Pump Interlock +# +#% archiver 10 Monitor +# +record(ao, "SR03A-VA-PIRG-31:RLY:SETSP") { + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-PIRG-31:RLY:SEQ") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(DRVH, "120.0") + field(DRVL, "0.0027") + field(DOL, "0.01") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") +} + +# +#% archiver 10 Monitor +# +record(mbbo, "SR03A-VA-PIRG-31:RLY:ENABLE") + { + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-PIRG-31:RLY:SEQ") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL, "1") + } + +record(seq, "SR03A-VA-PIRG-31:RLY:SEQ") + { + field(DESC, "Sequence Relay Setpoint") + field(SELM, "Specified") + field(SELL, "SR03A-VA-PIRG-31:RLY:ENABLE.RVAL") + field(DOL1, "0") + field(LNK1, "SR03A-VA-PIRG-31:RLY:DIS PP") + field(DOL2, "SR03A-VA-PIRG-31:RLY:SETSP") + field(LNK2, "SR03A-VA-PIRG-31:RLY:OUTSP PP") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + } + +# +#% archiver 10 Monitor +#% controldesk Ion Pump Interlock readback +# +record(ai, "SR03A-VA-PIRG-31:RLY:SP") { + field(DESC, "Ion Pump I/L") + field(DTYP, "stream") + field(INP, "@mks937a.protocol getsp(4,RLY,SR03A-VA-PIRG-31) GCTLR_A_03_PORT 0") + field(SCAN, "1 second") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "120.0") + field(LOPR, "0.0027") + field(HIHI, "1000.0") + field(LOLO, "0.0026") + field(HIGH, "0.011") + field(LOW, "0.009") + field(HHSV, "MAJOR") + field(LLSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") +} + +record(ao, "SR03A-VA-PIRG-31:RLY:OUTSP") + { + field(DESC, "Output Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol setsp(4,RLY,SR03A-VA-PIRG-31) GCTLR_A_03_PORT 0") + field(SDIS, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + } + +record(bo, "SR03A-VA-PIRG-31:RLY:DIS") { + field(DESC, "Disable Relay Setpoint") + field(DTYP, "stream") + field(OUT, "@mks937a.protocol dissp(4,RLY) GCTLR_A_03_PORT 0") +} + +record(calc, "SR03A-VA-PIRG-31:PDIS") { + field(PHAS, "1") + field(CALC, "(A>1)?1:0") + field(INPA, "SR03A-VA-PIRG-31:STA") + field(FLNK, "SR03A-VA-PIRG-31:P") +} + +# +# The :CONSTZERO record allows the :ILKSETSP:NOWRITE record (below) +# to have a PV link rather than constant zero value, which would be +# invalid with the "MS CP" modifiers +# +record(bi, "SR03A-VA-PIRG-31:CTL:CONSTZERO") + { + field(DESC, "Constant zero value") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "Zero") + field(ONAM, "One") + } + +# Disable the writing of setpoints to hardware so the machine does not trip +# when the IOC is rebooted with lower default interlock pressures +# This record is local to the relay instance, but controlled by the global +# access record - given in the macro parameters. If not supplied, it will +# assume an empty INP and do nothing. +# +# NB: These two records are identical and could have been instantiated via +# alias. The names are for compatibility with the macros in the EDM screens +# in which they are referenced. +# +record(bi, "SR03A-VA-PIRG-31:CTL:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } +record(bi, "SR03A-VA-PIRG-31:RLY:ILKSETSP:NOWRITE") + { + field(DESC, "ILK setpoint access") + field(SCAN, "Passive") + field(PINI, "YES") + field(INP, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS CP") + field(ZNAM, "Allow") + field(ONAM, "Inhibit") + } + +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise just once, records that used to use PINI +# This is to ensure that the autoSR PV referred by ilk_write_access_pv +# is correctly established before any other record processing, to potentially +# avoid overwriting setpoints at IOC startup. +# Essentially, must avoid using PINI for A/S dependent records, otherwise they +# are initialised with the hard-coded DOL value. +# +record(bo, "SR03A-VA-PIRG-31:CTL:INITSETSPSDIS") +{ + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-PIRG-31:CTL:INITSETSPFAN.DISA") +} +record(fanout, "SR03A-VA-PIRG-31:CTL:INITSETSPFAN") +{ + field(DESC, "Relay 1s Scan fanout") + field(SCAN, "1 second") + field(LNK1, "SR03A-VA-PIRG-31:RLY:ENABLE") + field(LNK2, "SR03A-VA-PIRG-31:RLY:SETSP") + field(LNK3, "SR03A-VA-PIRG-31:CTL:INITSETSPSDIS") + field(SELM, "All") +} + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-PIRG-31:ERROR") + { + field(DESC, "Last error message") + field(INP, "") + field(PINI, "YES") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_S_01, edm, digitelMpc.edl, device=SR03S-VA-MPC-01 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03S-VA-MPC-01:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03S-VA-MPC-01:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03S-VA-MPC-01:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03S-VA-MPC-01:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03S-VA-MPC-01:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03S-VA-MPC-01:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03S-VA-MPC-01:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03S-VA-MPC-01:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_S_01_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03S-VA-MPC-01:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_S_01_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03S-VA-MPC-01:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_S_01_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03S-VA-MPC-01:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_S_01_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03S-VA-MPC-01:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-MPC-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-MPC-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-MPC-01:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-MPC-01:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_01, edm, digitelMpc.edl, device=SR03A-VA-MPC-01 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-01:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-01:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-01:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-01:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-01:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-01:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-01:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-01:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_01_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-01:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_01_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-01:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_01_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-01:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_01_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-01:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-01:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-01:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_02, edm, digitelMpc.edl, device=SR03A-VA-MPC-02 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-02:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-02:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-02:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-02:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-02:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-02:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-02:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-02:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_02_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-02:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_02_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-02:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_02_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-02:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_02_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-02:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-02:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-02:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_03, edm, digitelMpc.edl, device=SR03A-VA-MPC-03 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-03:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-03:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-03:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-03:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-03:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-03:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-03:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-03:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_03_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-03:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_03_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-03:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_03_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-03:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_03_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-03:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-03:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-03:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_04, edm, digitelMpc.edl, device=SR03A-VA-MPC-04 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-04:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-04:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-04:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-04:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-04:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-04:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-04:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-04:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_04_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-04:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_04_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-04:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_04_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-04:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_04_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-04:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-04:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-04:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-04:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-04:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_05, edm, digitelMpc.edl, device=SR03A-VA-MPC-05 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-05:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-05:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-05:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-05:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-05:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-05:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-05:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-05:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_05_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-05:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_05_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-05:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_05_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-05:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_05_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-05:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-05:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-05:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-05:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-05:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_06, edm, digitelMpc.edl, device=SR03A-VA-MPC-06 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-06:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-06:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-06:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-06:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-06:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-06:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-06:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-06:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_06_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-06:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_06_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-06:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_06_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-06:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_06_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-06:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-06:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-06:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-06:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-06:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_07, edm, digitelMpc.edl, device=SR03A-VA-MPC-07 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-07:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-07:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-07:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-07:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-07:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-07:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-07:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-07:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_07_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-07:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_07_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-07:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_07_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-07:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_07_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-07:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-07:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-07:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-07:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-07:COMMS PP MS") + } + +# digitelMpc.db +#% macro, __doc__, Template database for digitel MPC - Controller +# Pete Owens - 30/3/04 +# +# substitutions: +#% macro, device, device name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, MPC_A_08, edm, digitelMpc.edl, device=SR03A-VA-MPC-08 + +# Get Model Number +# +#% controldesk Model Number readback +# +record(mbbi, "SR03A-VA-MPC-08:MODEL") + { + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "10 second") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } +#record(stringin, "SR03A-VA-MPC-08:MODEL") +#{ +# field(DESC, "Model Number") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") +# field(SCAN, "10 second") +# field(FLNK, "SR03A-VA-MPC-08:CALCMODEL") +#} + +### Check for presence of Digitel MPCq which behaves slightly differently to the MPC DD and MPCe +record(mbbi, "SR03A-VA-MPC-08:MODELENUM") + { + field(DESC, "Enumerated Model") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + } + +#record(aSub, "SR03A-VA-MPC-08:CALCMODEL") +# { +# field(SNAM, "modelCalc") +# field(INAM, "modelInit") +# field(INPA, "SR03A-VA-MPC-08:MODEL MS") +# field(FTA, "STRING") +# field(FTVA, "SHORT") +# field(NOA, "1") +# field(NOVA, "1") +# field(OUTA, "SR03A-VA-MPC-08:MODELENUM PP MS") +# field(EFLG, "ALWAYS") +# } + +################################################################################ +# Get Version +# +#% controldesk Firmware Revision readback +# +record(stringin, "SR03A-VA-MPC-08:VERSION") +{ + field(DESC, "Firmware Revision") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto version(01) MPC_A_08_PORT") + field(SCAN, "10 second") +} + +################################################################################ +# Automatically Restart on power up +# +#record(bo, "SR03A-VA-MPC-08:SETAUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(OUT, "@digitelMpc.proto setautost(01) MPC_A_08_PORT") +# field(ZNAM, "No") +# field(ONAM, "Yes") +# field(DOL, "0") +# field(PINI, "YES") +#} +# +#% controldesk Auto Restart smon +# +#record(bi, "SR03A-VA-MPC-08:AUTOST") +#{ +# field(DESC, "Auto Restart") +# field(DTYP, "stream") +# field(INP, "@digitelMpc.proto autost(01) MPC_A_08_PORT") +# field(SCAN, "10 second") +# field(ZNAM, "No") +# field(ONAM, "Yes") +#} +################################################################################ +# Reset Software +# +#% archiver 10 Monitor +#% controldesk Reset Software scon +# +record(bo, "SR03A-VA-MPC-08:RESET") +{ + field(DESC, "Reset Software") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto reset(01) MPC_A_08_PORT") + field(ZNAM, "Reset") + field(ONAM, "Reset") +} +################################################################################ + +record(stringin, "SR03A-VA-MPC-08:DEBUG") +{ + field(DESC, "Generic command") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto debug(01) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-MPC-08:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-MPC-08:COMMSMATCH") + { + field(INAA, "SR03A-VA-MPC-08:MODEL.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-MPC-08:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03S-VA-IONP-01 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03S-VA-IONP-01, desc=SR03S-VA-IONP-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03S-VA-IONP-01:STA +# % gui, , readback, Error Code, SR03S-VA-IONP-01:ERR +# % gui, , readback, Voltage, SR03S-VA-IONP-01:V +# % gui, , readback, Current, SR03S-VA-IONP-01:I +# % gui, , readback, Strapping, SR03S-VA-IONP-01:HV +# % gui, , enum, Start, SR03S-VA-IONP-01:START +# % gui, , readback, Pump Size, SR03S-VA-IONP-01:SIZE +# % gui, , demand, Pump Size, SR03S-VA-IONP-01:SETSIZE +# % gui, , readback, Calibration, SR03S-VA-IONP-01:CAL +# % gui, , demand, Calibration, SR03S-VA-IONP-01:SETCAL +# % gui, , readback, Setpoint 1 On, SR03S-VA-IONP-01:SP1ON +# % gui, , demand, Setpoint 1 On, SR03S-VA-IONP-01:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03S-VA-IONP-01:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03S-VA-IONP-01:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03S-VA-IONP-01:SP2ON +# % gui, , demand, Setpoint 2 On, SR03S-VA-IONP-01:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03S-VA-IONP-01:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03S-VA-IONP-01:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03S-VA-IONP-01:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-IONP-01:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IONP-01:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03S-VA-IONP-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IONP-01:P.ADEL") + field(INPA, "SR03S-VA-IONP-01:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IONP-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IONP-01:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03S-VA-IONP-01:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03S-VA-IONP-01:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03S-VA-IONP-01:STA +record(mbbi, "SR03S-VA-IONP-01:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_S_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03S-VA-IONP-01:ERRSEL") +} + +record(seq, "SR03S-VA-IONP-01:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IONP-01:ERR PP MS") + field(DOL2, "SR03S-VA-IONP-01:ERRGET PP MS") + field(LNK2, "SR03S-VA-IONP-01:ERR PP MS") +} + +record(longin, "SR03S-VA-IONP-01:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03S-VA-IONP-01:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03S-VA-IONP-01:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03S-VA-IONP-01:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03S-VA-IONP-01:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03S-VA-IONP-01:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_S_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03S-VA-IONP-01:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_S_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03S-VA-IONP-01:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_S_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03S-VA-IONP-01:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_S_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03S-VA-IONP-01:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03S-VA-IONP-01:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IONP-01:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03S-VA-IONP-01:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-01:RQSTSP1ON PP") + field(LNK2, "SR03S-VA-IONP-01:SETSPS1.DISA PP") + field(LNK3, "SR03S-VA-IONP-01:SETSP1OFF PP") + field(LNK4, "SR03S-VA-IONP-01:SETSP1ON PP") + field(LNK5, "SR03S-VA-IONP-01:SETSPS1.DISA PP") + field(LNK6, "SR03S-VA-IONP-01:INIT:SETSP2SEQ PP") + field(LNK7, "SR03S-VA-IONP-01:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-01:SP1OFF") + field(DOL4, "SR03S-VA-IONP-01:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03S-VA-IONP-01:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-01:RQSTSP2ON PP") + field(LNK2, "SR03S-VA-IONP-01:SETSPS2.DISA PP") + field(LNK3, "SR03S-VA-IONP-01:SETSP2OFF PP") + field(LNK4, "SR03S-VA-IONP-01:SETSP2ON PP") + field(LNK5, "SR03S-VA-IONP-01:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-01:SP2OFF") + field(DOL4, "SR03S-VA-IONP-01:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03S-VA-IONP-01:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03S-VA-IONP-01:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-01,2) MPC_S_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03S-VA-IONP-01:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-01:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-01:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-01:SETSP1ON") + field(INPB, "SR03S-VA-IONP-01:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-01:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-01:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-01:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-01:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03S-VA-IONP-01:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-01:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-01,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-01:SETSP2ON") + field(INPB, "SR03S-VA-IONP-01:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-01:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-01:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03S-VA-IONP-01:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-01:SETSPS1") + } + +record(calc, "SR03S-VA-IONP-01:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-01:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03S-VA-IONP-01:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03S-VA-IONP-01:SETTEXT_PROC PP") +} + +record(calcout, "SR03S-VA-IONP-01:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03S-VA-IONP-01:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03S-VA-IONP-01:SETTEXT.PROC PP") +} + +record(stringout, "SR03S-VA-IONP-01:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03S-VA-IONP-01") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03S-VA-IONP-01) MPC_S_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IONP-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-IONP-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-IONP-01:COMMSMATCH") + { + field(INAA, "SR03S-VA-IONP-01:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-IONP-01:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03S-VA-IONP-03 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03S-VA-IONP-03, desc=SR03S-VA-IONP-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03S-VA-IONP-03:STA +# % gui, , readback, Error Code, SR03S-VA-IONP-03:ERR +# % gui, , readback, Voltage, SR03S-VA-IONP-03:V +# % gui, , readback, Current, SR03S-VA-IONP-03:I +# % gui, , readback, Strapping, SR03S-VA-IONP-03:HV +# % gui, , enum, Start, SR03S-VA-IONP-03:START +# % gui, , readback, Pump Size, SR03S-VA-IONP-03:SIZE +# % gui, , demand, Pump Size, SR03S-VA-IONP-03:SETSIZE +# % gui, , readback, Calibration, SR03S-VA-IONP-03:CAL +# % gui, , demand, Calibration, SR03S-VA-IONP-03:SETCAL +# % gui, , readback, Setpoint 1 On, SR03S-VA-IONP-03:SP1ON +# % gui, , demand, Setpoint 1 On, SR03S-VA-IONP-03:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03S-VA-IONP-03:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03S-VA-IONP-03:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03S-VA-IONP-03:SP2ON +# % gui, , demand, Setpoint 2 On, SR03S-VA-IONP-03:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03S-VA-IONP-03:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03S-VA-IONP-03:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03S-VA-IONP-03:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-IONP-03:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-IONP-03:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03S-VA-IONP-03:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-IONP-03:P.ADEL") + field(INPA, "SR03S-VA-IONP-03:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-IONP-03:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-IONP-03:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03S-VA-IONP-03:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03S-VA-IONP-03:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03S-VA-IONP-03:STA +record(mbbi, "SR03S-VA-IONP-03:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_S_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03S-VA-IONP-03:ERRSEL") +} + +record(seq, "SR03S-VA-IONP-03:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03S-VA-IONP-03:ERR PP MS") + field(DOL2, "SR03S-VA-IONP-03:ERRGET PP MS") + field(LNK2, "SR03S-VA-IONP-03:ERR PP MS") +} + +record(longin, "SR03S-VA-IONP-03:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_S_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03S-VA-IONP-03:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03S-VA-IONP-03:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03S-VA-IONP-03:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03S-VA-IONP-03:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03S-VA-IONP-03:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_S_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03S-VA-IONP-03:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_S_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03S-VA-IONP-03:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_S_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03S-VA-IONP-03:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_S_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03S-VA-IONP-03:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03S-VA-IONP-03:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03S-VA-IONP-03:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03S-VA-IONP-03:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-03:RQSTSP1ON PP") + field(LNK2, "SR03S-VA-IONP-03:SETSPS1.DISA PP") + field(LNK3, "SR03S-VA-IONP-03:SETSP1OFF PP") + field(LNK4, "SR03S-VA-IONP-03:SETSP1ON PP") + field(LNK5, "SR03S-VA-IONP-03:SETSPS1.DISA PP") + field(LNK6, "SR03S-VA-IONP-03:INIT:SETSP2SEQ PP") + field(LNK7, "SR03S-VA-IONP-03:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-03:SP1OFF") + field(DOL4, "SR03S-VA-IONP-03:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03S-VA-IONP-03:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03S-VA-IONP-03:RQSTSP2ON PP") + field(LNK2, "SR03S-VA-IONP-03:SETSPS2.DISA PP") + field(LNK3, "SR03S-VA-IONP-03:SETSP2OFF PP") + field(LNK4, "SR03S-VA-IONP-03:SETSP2ON PP") + field(LNK5, "SR03S-VA-IONP-03:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03S-VA-IONP-03:SP2OFF") + field(DOL4, "SR03S-VA-IONP-03:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03S-VA-IONP-03:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03S-VA-IONP-03:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03S-VA-IONP-03,2) MPC_S_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03S-VA-IONP-03:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-03:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP1ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP1OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-03:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-03:SETSP1ON") + field(INPB, "SR03S-VA-IONP-03:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-03:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-03:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03S-VA-IONP-03:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03S-VA-IONP-03:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP2ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03S-VA-IONP-03:SETSP2OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03S-VA-IONP-03:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03S-VA-IONP-03,1) MPC_S_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_S_01_PORT") + field(INPA, "SR03S-VA-IONP-03:SETSP2ON") + field(INPB, "SR03S-VA-IONP-03:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03S-VA-IONP-03:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03S-VA-IONP-03:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03S-VA-IONP-03:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-03:SETSPS1") + } + +record(calc, "SR03S-VA-IONP-03:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03S-VA-IONP-03:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03S-VA-IONP-03:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_S_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03S-VA-IONP-03:SETTEXT_PROC PP") +} + +record(calcout, "SR03S-VA-IONP-03:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03S-VA-IONP-03:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03S-VA-IONP-03:SETTEXT.PROC PP") +} + +record(stringout, "SR03S-VA-IONP-03:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03S-VA-IONP-03") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03S-VA-IONP-03) MPC_S_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03S-VA-IONP-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03S-VA-IONP-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03S-VA-IONP-03:COMMSMATCH") + { + field(INAA, "SR03S-VA-IONP-03:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03S-VA-IONP-03:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-01 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-01, desc=SR03A-VA-IONP-01, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-01:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-01:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-01:V +# % gui, , readback, Current, SR03A-VA-IONP-01:I +# % gui, , readback, Strapping, SR03A-VA-IONP-01:HV +# % gui, , enum, Start, SR03A-VA-IONP-01:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-01:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-01:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-01:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-01:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-01:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-01:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-01:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-01:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-01:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-01:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-01:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-01:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-01:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-01:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-01:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-01:P.ADEL") + field(INPA, "SR03A-VA-IONP-01:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-01:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-01:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-01:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-01:STA +record(mbbi, "SR03A-VA-IONP-01:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-01:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-01:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-01:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-01:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-01:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-01:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-01:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-01:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-01:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-01:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-01:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-01:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-01:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-01:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-01:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-01:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-01:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-01:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-01:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-01:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-01:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-01:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-01:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-01:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-01:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-01:SP1OFF") + field(DOL4, "SR03A-VA-IONP-01:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-01:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-01:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-01:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-01:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-01:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-01:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-01:SP2OFF") + field(DOL4, "SR03A-VA-IONP-01:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-01:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-01:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-01,2) MPC_A_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-01:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-01:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-01:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-01:SETSP1ON") + field(INPB, "SR03A-VA-IONP-01:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-01:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-01:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-01:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-01:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-01:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-01:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-01,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-01:SETSP2ON") + field(INPB, "SR03A-VA-IONP-01:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-01:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-01:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-01:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-01:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-01:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-01:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-01:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-01:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-01:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-01:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-01:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-01:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-01") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-01) MPC_A_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-01:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-01:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-01:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-01:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-01:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-02 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-02, desc=SR03A-VA-IONP-02, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-02:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-02:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-02:V +# % gui, , readback, Current, SR03A-VA-IONP-02:I +# % gui, , readback, Strapping, SR03A-VA-IONP-02:HV +# % gui, , enum, Start, SR03A-VA-IONP-02:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-02:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-02:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-02:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-02:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-02:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-02:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-02:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-02:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-02:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-02:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-02:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-02:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-02:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-02:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-02:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-02:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-02:P.ADEL") + field(INPA, "SR03A-VA-IONP-02:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-02:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-02:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-02:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-02:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-02:STA +record(mbbi, "SR03A-VA-IONP-02:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_01_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-02:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-02:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-02:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-02:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-02:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-02:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_01_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-02:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-02:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-02:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-02:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-02:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_01_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-02:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_01_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-02:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_01_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-02:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_01_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-02:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-02:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-02:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-02:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-02:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-02:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-02:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-02:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-02:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-02:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-02:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-02:SP1OFF") + field(DOL4, "SR03A-VA-IONP-02:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-02:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-02:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-02:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-02:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-02:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-02:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-02:SP2OFF") + field(DOL4, "SR03A-VA-IONP-02:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-02:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-02:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-02,2) MPC_A_01_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-02:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-02:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-02:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-02:SETSP1ON") + field(INPB, "SR03A-VA-IONP-02:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-02:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-02:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-02:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-02:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-02:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-02:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-02,1) MPC_A_01_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_01_PORT") + field(INPA, "SR03A-VA-IONP-02:SETSP2ON") + field(INPB, "SR03A-VA-IONP-02:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-02:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-02:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-02:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-02:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-02:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-02:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-02:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_01_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-02:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-02:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-02:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-02:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-02:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-02") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-02) MPC_A_01_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-02:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-02:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-02:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-02:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-02:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-03 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-03, desc=SR03A-VA-IONP-03, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-03:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-03:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-03:V +# % gui, , readback, Current, SR03A-VA-IONP-03:I +# % gui, , readback, Strapping, SR03A-VA-IONP-03:HV +# % gui, , enum, Start, SR03A-VA-IONP-03:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-03:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-03:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-03:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-03:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-03:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-03:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-03:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-03:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-03:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-03:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-03:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-03:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-03:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-03:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-03:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-03:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-03:P.ADEL") + field(INPA, "SR03A-VA-IONP-03:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-03:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-03:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-03:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-03:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-03:STA +record(mbbi, "SR03A-VA-IONP-03:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_02_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-03:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-03:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-03:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-03:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-03:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-03:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-03:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-03:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-03:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-03:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-03:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_02_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-03:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_02_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-03:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_02_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-03:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_02_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-03:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-03:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-03:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-03:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-03:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-03:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-03:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-03:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-03:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-03:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-03:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-03:SP1OFF") + field(DOL4, "SR03A-VA-IONP-03:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-03:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-03:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-03:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-03:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-03:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-03:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-03:SP2OFF") + field(DOL4, "SR03A-VA-IONP-03:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-03:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-03:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-03,2) MPC_A_02_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-03:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-03:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-03:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-03:SETSP1ON") + field(INPB, "SR03A-VA-IONP-03:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-03:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-03:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-03:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-03:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-03:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-03:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-03,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-03:SETSP2ON") + field(INPB, "SR03A-VA-IONP-03:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-03:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-03:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-03:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-03:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-03:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-03:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-03:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-03:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-03:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-03:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-03:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-03:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-03") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-03) MPC_A_02_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-03:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-03:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-03:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-03:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-03:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-04 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-04, desc=SR03A-VA-IONP-04, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-04:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-04:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-04:V +# % gui, , readback, Current, SR03A-VA-IONP-04:I +# % gui, , readback, Strapping, SR03A-VA-IONP-04:HV +# % gui, , enum, Start, SR03A-VA-IONP-04:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-04:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-04:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-04:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-04:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-04:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-04:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-04:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-04:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-04:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-04:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-04:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-04:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-04:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-04:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-04:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-04:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-04:P.ADEL") + field(INPA, "SR03A-VA-IONP-04:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-04:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-04:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-04:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-04:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-04:STA +record(mbbi, "SR03A-VA-IONP-04:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_02_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-04:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-04:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-04:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-04:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-04:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-04:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_02_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-04:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-04:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-04:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-04:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-04:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_02_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-04:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_02_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-04:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_02_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-04:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_02_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-04:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-04:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-04:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-04:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-04:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-04:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-04:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-04:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-04:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-04:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-04:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-04:SP1OFF") + field(DOL4, "SR03A-VA-IONP-04:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-04:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-04:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-04:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-04:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-04:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-04:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-04:SP2OFF") + field(DOL4, "SR03A-VA-IONP-04:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-04:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-04:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-04,2) MPC_A_02_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-04:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-04:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-04:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-04:SETSP1ON") + field(INPB, "SR03A-VA-IONP-04:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-04:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-04:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-04:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-04:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-04:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-04:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-04,1) MPC_A_02_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_02_PORT") + field(INPA, "SR03A-VA-IONP-04:SETSP2ON") + field(INPB, "SR03A-VA-IONP-04:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-04:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-04:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-04:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-04:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-04:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-04:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-04:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_02_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-04:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-04:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-04:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-04:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-04:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-04") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-04) MPC_A_02_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-04:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-04:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-04:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-04:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-04:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-05 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-05, desc=SR03A-VA-IONP-05, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-05:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-05:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-05:V +# % gui, , readback, Current, SR03A-VA-IONP-05:I +# % gui, , readback, Strapping, SR03A-VA-IONP-05:HV +# % gui, , enum, Start, SR03A-VA-IONP-05:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-05:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-05:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-05:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-05:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-05:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-05:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-05:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-05:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-05:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-05:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-05:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-05:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-05:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-05:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-05:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-05:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-05:P.ADEL") + field(INPA, "SR03A-VA-IONP-05:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-05:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-05:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-05:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-05:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-05:STA +record(mbbi, "SR03A-VA-IONP-05:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_03_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-05:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-05:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-05:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-05:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-05:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-05:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-05:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-05:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-05:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-05:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-05:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_03_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-05:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_03_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-05:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_03_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-05:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_03_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-05:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-05:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-05:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-05:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-05:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-05:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-05:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-05:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-05:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-05:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-05:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-05:SP1OFF") + field(DOL4, "SR03A-VA-IONP-05:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-05:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-05:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-05:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-05:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-05:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-05:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-05:SP2OFF") + field(DOL4, "SR03A-VA-IONP-05:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-05:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-05:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-05,2) MPC_A_03_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-05:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-05:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP1ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP1OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-05:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-05:SETSP1ON") + field(INPB, "SR03A-VA-IONP-05:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-05:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-05:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-05:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-05:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP2ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-05:SETSP2OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-05:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-05,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-05:SETSP2ON") + field(INPB, "SR03A-VA-IONP-05:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-05:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-05:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-05:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-05:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-05:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-05:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-05:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-05:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-05:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-05:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-05:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-05:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-05") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-05) MPC_A_03_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-05:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-05:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-05:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-05:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-05:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-06 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-06, desc=SR03A-VA-IONP-06, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-06:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-06:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-06:V +# % gui, , readback, Current, SR03A-VA-IONP-06:I +# % gui, , readback, Strapping, SR03A-VA-IONP-06:HV +# % gui, , enum, Start, SR03A-VA-IONP-06:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-06:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-06:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-06:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-06:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-06:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-06:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-06:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-06:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-06:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-06:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-06:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-06:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-06:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-06:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-06:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-06:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-06:P.ADEL") + field(INPA, "SR03A-VA-IONP-06:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-06:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-06:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-06:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-06:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-06:STA +record(mbbi, "SR03A-VA-IONP-06:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_03_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-06:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-06:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-06:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-06:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-06:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-06:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_03_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-06:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-06:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-06:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-06:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-06:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_03_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-06:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_03_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-06:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_03_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-06:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_03_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-06:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-06:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-06:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-06:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-06:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-06:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-06:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-06:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-06:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-06:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-06:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-06:SP1OFF") + field(DOL4, "SR03A-VA-IONP-06:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-06:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-06:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-06:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-06:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-06:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-06:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-06:SP2OFF") + field(DOL4, "SR03A-VA-IONP-06:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-06:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-06:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-06,2) MPC_A_03_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-06:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-06:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-06:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-06:SETSP1ON") + field(INPB, "SR03A-VA-IONP-06:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-06:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-06:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-06:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-06:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-06:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-06:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-06,1) MPC_A_03_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_03_PORT") + field(INPA, "SR03A-VA-IONP-06:SETSP2ON") + field(INPB, "SR03A-VA-IONP-06:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-06:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-06:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-06:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-06:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-06:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-06:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-06:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_03_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-06:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-06:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-06:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-06:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-06:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-06") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-06) MPC_A_03_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-06:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-06:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-06:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-06:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-06:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-07 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-07, desc=SR03A-VA-IONP-07, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-07:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-07:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-07:V +# % gui, , readback, Current, SR03A-VA-IONP-07:I +# % gui, , readback, Strapping, SR03A-VA-IONP-07:HV +# % gui, , enum, Start, SR03A-VA-IONP-07:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-07:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-07:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-07:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-07:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-07:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-07:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-07:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-07:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-07:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-07:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-07:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-07:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-07:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-07:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-07:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-07:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-07:P.ADEL") + field(INPA, "SR03A-VA-IONP-07:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-07:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-07:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-07:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-07:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-07:STA +record(mbbi, "SR03A-VA-IONP-07:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_04_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-07:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-07:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-07:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-07:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-07:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-07:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-07:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-07:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-07:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-07:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-07:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_04_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-07:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_04_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-07:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_04_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-07:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_04_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-07:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-07:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-07:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-07:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-07:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-07:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-07:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-07:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-07:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-07:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-07:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-07:SP1OFF") + field(DOL4, "SR03A-VA-IONP-07:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-07:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-07:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-07:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-07:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-07:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-07:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-07:SP2OFF") + field(DOL4, "SR03A-VA-IONP-07:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-07:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-07:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-07,2) MPC_A_04_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-07:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-07:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-07:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-07:SETSP1ON") + field(INPB, "SR03A-VA-IONP-07:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-07:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-07:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-07:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-07:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-07:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-07:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-07,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-07:SETSP2ON") + field(INPB, "SR03A-VA-IONP-07:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-07:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-07:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-07:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-07:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-07:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-07:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-07:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-07:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-07:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-07:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-07:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-07:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-07") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-07) MPC_A_04_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-07:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-07:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-07:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-07:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-07:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-08 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-08, desc=SR03A-VA-IONP-08, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-08:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-08:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-08:V +# % gui, , readback, Current, SR03A-VA-IONP-08:I +# % gui, , readback, Strapping, SR03A-VA-IONP-08:HV +# % gui, , enum, Start, SR03A-VA-IONP-08:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-08:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-08:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-08:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-08:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-08:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-08:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-08:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-08:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-08:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-08:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-08:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-08:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-08:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-08:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-08:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-08:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-08:P.ADEL") + field(INPA, "SR03A-VA-IONP-08:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-08:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-08:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-08:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-08:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-08:STA +record(mbbi, "SR03A-VA-IONP-08:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_04_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-08:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-08:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-08:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-08:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-08:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-08:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_04_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-08:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-08:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-08:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-08:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-08:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_04_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-08:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_04_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-08:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_04_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-08:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_04_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-08:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-08:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-08:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-08:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-08:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-08:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-08:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-08:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-08:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-08:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-08:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-08:SP1OFF") + field(DOL4, "SR03A-VA-IONP-08:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-08:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-08:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-08:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-08:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-08:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-08:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-08:SP2OFF") + field(DOL4, "SR03A-VA-IONP-08:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-08:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-08:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-08,2) MPC_A_04_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-08:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-08:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-08:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-08:SETSP1ON") + field(INPB, "SR03A-VA-IONP-08:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-08:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-08:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-08:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-08:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-08:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-08:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-08,1) MPC_A_04_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_04_PORT") + field(INPA, "SR03A-VA-IONP-08:SETSP2ON") + field(INPB, "SR03A-VA-IONP-08:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-08:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-08:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-08:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-08:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-08:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-08:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-08:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_04_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-08:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-08:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-08:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-08:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-08:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-08") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-08) MPC_A_04_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-08:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-08:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-08:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-08:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-08:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-09 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-09, desc=SR03A-VA-IONP-09, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-09:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-09:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-09:V +# % gui, , readback, Current, SR03A-VA-IONP-09:I +# % gui, , readback, Strapping, SR03A-VA-IONP-09:HV +# % gui, , enum, Start, SR03A-VA-IONP-09:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-09:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-09:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-09:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-09:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-09:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-09:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-09:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-09:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-09:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-09:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-09:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-09:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-09:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-09:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-09:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-09:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-09:P.ADEL") + field(INPA, "SR03A-VA-IONP-09:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-09:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-09:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-09:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-09:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-09:STA +record(mbbi, "SR03A-VA-IONP-09:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_06_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-09:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-09:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-09:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-09:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-09:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-09:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-09:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-09:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-09:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-09:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-09:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_06_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-09:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_06_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-09:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_06_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-09:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_06_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-09:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-09:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-09:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-09:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-09:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-09:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-09:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-09:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-09:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-09:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-09:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-09:SP1OFF") + field(DOL4, "SR03A-VA-IONP-09:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-09:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-09:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-09:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-09:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-09:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-09:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-09:SP2OFF") + field(DOL4, "SR03A-VA-IONP-09:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-09:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-09:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-09,2) MPC_A_06_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-09:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-09:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-09:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-09:SETSP1ON") + field(INPB, "SR03A-VA-IONP-09:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-09:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-09:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-09:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-09:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-09:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-09:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-09,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-09:SETSP2ON") + field(INPB, "SR03A-VA-IONP-09:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-09:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-09:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-09:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-09:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-09:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-09:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-09:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-09:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-09:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-09:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-09:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-09:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-09") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-09) MPC_A_06_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-09:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-09:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-09:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-09:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-09:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-10 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-10, desc=SR03A-VA-IONP-10, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-10:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-10:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-10:V +# % gui, , readback, Current, SR03A-VA-IONP-10:I +# % gui, , readback, Strapping, SR03A-VA-IONP-10:HV +# % gui, , enum, Start, SR03A-VA-IONP-10:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-10:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-10:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-10:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-10:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-10:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-10:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-10:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-10:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-10:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-10:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-10:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-10:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-10:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-10:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-10:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-10:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-10:P.ADEL") + field(INPA, "SR03A-VA-IONP-10:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-10:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-10:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-10:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-10:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-10:STA +record(mbbi, "SR03A-VA-IONP-10:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_05_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-10:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-10:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-10:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-10:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-10:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-10:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-10:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-10:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-10:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-10:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-10:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_05_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-10:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_05_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-10:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_05_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-10:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_05_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-10:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-10:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-10:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-10:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-10:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-10:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-10:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-10:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-10:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-10:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-10:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-10:SP1OFF") + field(DOL4, "SR03A-VA-IONP-10:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-10:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-10:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-10:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-10:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-10:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-10:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-10:SP2OFF") + field(DOL4, "SR03A-VA-IONP-10:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-10:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-10:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-10,2) MPC_A_05_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-10:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-10:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-10:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-10:SETSP1ON") + field(INPB, "SR03A-VA-IONP-10:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-10:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-10:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-10:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-10:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-10:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-10:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-10,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-10:SETSP2ON") + field(INPB, "SR03A-VA-IONP-10:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-10:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-10:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-10:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-10:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-10:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-10:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-10:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-10:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-10:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-10:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-10:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-10:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-10") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-10) MPC_A_05_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-10:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-10:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-10:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-10:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-10:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-11 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-11, desc=SR03A-VA-IONP-11, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-11:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-11:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-11:V +# % gui, , readback, Current, SR03A-VA-IONP-11:I +# % gui, , readback, Strapping, SR03A-VA-IONP-11:HV +# % gui, , enum, Start, SR03A-VA-IONP-11:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-11:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-11:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-11:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-11:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-11:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-11:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-11:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-11:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-11:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-11:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-11:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-11:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-11:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-11:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-11:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-11:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-11:P.ADEL") + field(INPA, "SR03A-VA-IONP-11:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-11:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-11:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-11:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-11:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-11:STA +record(mbbi, "SR03A-VA-IONP-11:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_06_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-11:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-11:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-11:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-11:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-11:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-11:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_06_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-11:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-11:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-11:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-11:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-11:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_06_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-11:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_06_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-11:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_06_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-11:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_06_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-11:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-11:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-11:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-11:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-11:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-11:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-11:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-11:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-11:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-11:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-11:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-11:SP1OFF") + field(DOL4, "SR03A-VA-IONP-11:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-11:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-11:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-11:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-11:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-11:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-11:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-11:SP2OFF") + field(DOL4, "SR03A-VA-IONP-11:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-11:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-11:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-11,2) MPC_A_06_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-11:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-11:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-11:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-11:SETSP1ON") + field(INPB, "SR03A-VA-IONP-11:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-11:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-11:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-11:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-11:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-11:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-11:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-11,1) MPC_A_06_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_06_PORT") + field(INPA, "SR03A-VA-IONP-11:SETSP2ON") + field(INPB, "SR03A-VA-IONP-11:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-11:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-11:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-11:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-11:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-11:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-11:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-11:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_06_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-11:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-11:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-11:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-11:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-11:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-11") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-11) MPC_A_06_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-11:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-11:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-11:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-11:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-11:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-12 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-12, desc=SR03A-VA-IONP-12, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-12:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-12:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-12:V +# % gui, , readback, Current, SR03A-VA-IONP-12:I +# % gui, , readback, Strapping, SR03A-VA-IONP-12:HV +# % gui, , enum, Start, SR03A-VA-IONP-12:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-12:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-12:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-12:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-12:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-12:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-12:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-12:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-12:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-12:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-12:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-12:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-12:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-12:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-12:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-12:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-12:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-12:P.ADEL") + field(INPA, "SR03A-VA-IONP-12:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-12:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-12:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-12:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-12:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-12:STA +record(mbbi, "SR03A-VA-IONP-12:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_05_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-12:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-12:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-12:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-12:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-12:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-12:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_05_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-12:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-12:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-12:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-12:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-12:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_05_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-12:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_05_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-12:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_05_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-12:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_05_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-12:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-12:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-12:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-12:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-12:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-12:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-12:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-12:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-12:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-12:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-12:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-12:SP1OFF") + field(DOL4, "SR03A-VA-IONP-12:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-12:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-12:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-12:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-12:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-12:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-12:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-12:SP2OFF") + field(DOL4, "SR03A-VA-IONP-12:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-12:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-12:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-12,2) MPC_A_05_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-12:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-12:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP1ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP1OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-12:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-12:SETSP1ON") + field(INPB, "SR03A-VA-IONP-12:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-12:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-12:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-12:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-12:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP2ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-12:SETSP2OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-12:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-12,1) MPC_A_05_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_05_PORT") + field(INPA, "SR03A-VA-IONP-12:SETSP2ON") + field(INPB, "SR03A-VA-IONP-12:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-12:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-12:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-12:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-12:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-12:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-12:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-12:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_05_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-12:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-12:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-12:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-12:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-12:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-12") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-12) MPC_A_05_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-12:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-12:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-12:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-12:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-12:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-13 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-13, desc=SR03A-VA-IONP-13, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-13:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-13:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-13:V +# % gui, , readback, Current, SR03A-VA-IONP-13:I +# % gui, , readback, Strapping, SR03A-VA-IONP-13:HV +# % gui, , enum, Start, SR03A-VA-IONP-13:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-13:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-13:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-13:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-13:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-13:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-13:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-13:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-13:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-13:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-13:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-13:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-13:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-13:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-13:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-13:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-13:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-13:P.ADEL") + field(INPA, "SR03A-VA-IONP-13:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-13:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-13:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-13:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-13:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-13:STA +record(mbbi, "SR03A-VA-IONP-13:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_07_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-13:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-13:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-13:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-13:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-13:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-13:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-13:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-13:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-13:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-13:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-13:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_07_PORT") + field(PINI, "YES") + field(DOL, "500") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-13:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_07_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-13:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_07_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-13:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_07_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-13:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-13:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-13:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-13:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-13:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-13:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-13:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-13:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-13:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-13:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-13:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-13:SP1OFF") + field(DOL4, "SR03A-VA-IONP-13:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-13:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-13:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-13:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-13:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-13:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-13:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-13:SP2OFF") + field(DOL4, "SR03A-VA-IONP-13:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-13:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-13:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-13,2) MPC_A_07_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-13:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-13:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-13:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-13:SETSP1ON") + field(INPB, "SR03A-VA-IONP-13:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-13:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-13:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-13:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-13:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-13:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-13:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-13,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-13:SETSP2ON") + field(INPB, "SR03A-VA-IONP-13:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-13:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-13:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-13:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-13:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-13:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-13:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-13:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-13:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-13:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-13:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-13:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-13:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-13") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-13) MPC_A_07_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-13:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-13:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-13:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-13:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-13:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-14 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-14, desc=SR03A-VA-IONP-14, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-14:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-14:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-14:V +# % gui, , readback, Current, SR03A-VA-IONP-14:I +# % gui, , readback, Strapping, SR03A-VA-IONP-14:HV +# % gui, , enum, Start, SR03A-VA-IONP-14:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-14:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-14:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-14:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-14:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-14:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-14:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-14:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-14:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-14:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-14:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-14:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-14:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-14:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-14:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-14:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-14:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-14:P.ADEL") + field(INPA, "SR03A-VA-IONP-14:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-14:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-14:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-14:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-14:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-14:STA +record(mbbi, "SR03A-VA-IONP-14:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_07_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-14:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-14:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-14:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-14:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-14:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-14:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_07_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-14:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-14:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-14:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-14:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-14:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_07_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-14:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_07_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-14:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_07_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-14:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_07_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-14:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-14:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-14:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-14:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-14:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-14:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-14:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-14:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-14:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-14:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-14:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-14:SP1OFF") + field(DOL4, "SR03A-VA-IONP-14:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-14:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-14:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-14:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-14:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-14:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-14:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-14:SP2OFF") + field(DOL4, "SR03A-VA-IONP-14:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-14:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-14:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-14,2) MPC_A_07_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-14:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-14:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-14:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-14:SETSP1ON") + field(INPB, "SR03A-VA-IONP-14:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-14:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-14:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-14:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-14:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-14:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-14:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-14,1) MPC_A_07_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_07_PORT") + field(INPA, "SR03A-VA-IONP-14:SETSP2ON") + field(INPB, "SR03A-VA-IONP-14:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-14:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-14:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-14:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-14:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-14:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-14:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-14:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_07_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-14:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-14:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-14:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-14:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-14:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-14") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-14) MPC_A_07_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-14:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-14:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-14:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-14:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-14:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-15 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-15, desc=SR03A-VA-IONP-15, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-15:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-15:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-15:V +# % gui, , readback, Current, SR03A-VA-IONP-15:I +# % gui, , readback, Strapping, SR03A-VA-IONP-15:HV +# % gui, , enum, Start, SR03A-VA-IONP-15:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-15:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-15:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-15:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-15:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-15:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-15:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-15:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-15:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-15:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-15:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-15:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-15:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-15:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-15:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-15:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-15:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-15:P.ADEL") + field(INPA, "SR03A-VA-IONP-15:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-15:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-15:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-15:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-15:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-15:STA +record(mbbi, "SR03A-VA-IONP-15:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,1) MPC_A_08_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-15:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-15:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-15:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-15:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-15:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-15:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,1) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-15:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-15:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-15:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-15:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-15:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,1) MPC_A_08_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-15:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,1) MPC_A_08_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-15:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,1) MPC_A_08_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-15:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,1) MPC_A_08_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-15:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-15:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-15:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-15:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-15:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-15:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-15:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-15:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-15:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-15:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-15:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-15:SP1OFF") + field(DOL4, "SR03A-VA-IONP-15:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-15:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-15:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-15:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-15:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-15:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-15:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-15:SP2OFF") + field(DOL4, "SR03A-VA-IONP-15:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-15:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-15:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-15,2) MPC_A_08_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-15:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-15:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP1ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP1OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-15:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-15:SETSP1ON") + field(INPB, "SR03A-VA-IONP-15:SETSP1OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-15:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-15:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-15:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-15:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP2ON") + { + field(VAL, "1e-10") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-15:SETSP2OFF") + { + field(VAL, "0.0001") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-15:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-15,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,1) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-15:SETSP2ON") + field(INPB, "SR03A-VA-IONP-15:SETSP2OFF") + field(INPC, "1") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-15:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-15:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-15:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "1") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-15:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-15:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "1") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-15:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-15:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-15:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-15:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-15:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-15:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-15:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-15") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,1,SR03A-VA-IONP-15) MPC_A_08_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-15:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-15:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-15:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-15:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-15:COMMS PP MS") + } + +# digitelMpcIonp.template +#% macro, __doc__, Template database for digitel MPC - Ion Pump +# Pete Owens - 30/9/03 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, port, asyn serial port number +#% macro, unit, unit number for multi-drop serial (2 hex digits - 05 by default) +#% macro, pump, ion pump number (1 or 2) +#% macro, size, pump size (l/s) +#% macro, sp1on, setpoint1 on +#% macro, sp1off, setpoint1 off +#% macro, sp2on, setpoint2 on +#% macro, sp2off, setpoint2 off +#% macro, alh, alarm handler tag (Defaults to None) c.f. mp49's commit 80833 +#% macro, text, Text to display in the ion pump controller window. +#% macro, proto, StreamDevice Protocol definition file. Defaults to digitelMpc.proto +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, digitelMpcIonp2sp.edl, device=SR03A-VA-IONP-16 + +# This associates BOY screens with the template +# % gui, , boydetail, digitelMpcApp_opi/ionp_detail.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed_box.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= +# % gui, , boyembed, digitelMpcApp_opi/ionp_embed.opi, device=SR03A-VA-IONP-16, desc=SR03A-VA-IONP-16, name= + +# These define what PVs a valve detail screen should contain +# % gui, , readback, Status, SR03A-VA-IONP-16:STA +# % gui, , readback, Error Code, SR03A-VA-IONP-16:ERR +# % gui, , readback, Voltage, SR03A-VA-IONP-16:V +# % gui, , readback, Current, SR03A-VA-IONP-16:I +# % gui, , readback, Strapping, SR03A-VA-IONP-16:HV +# % gui, , enum, Start, SR03A-VA-IONP-16:START +# % gui, , readback, Pump Size, SR03A-VA-IONP-16:SIZE +# % gui, , demand, Pump Size, SR03A-VA-IONP-16:SETSIZE +# % gui, , readback, Calibration, SR03A-VA-IONP-16:CAL +# % gui, , demand, Calibration, SR03A-VA-IONP-16:SETCAL +# % gui, , readback, Setpoint 1 On, SR03A-VA-IONP-16:SP1ON +# % gui, , demand, Setpoint 1 On, SR03A-VA-IONP-16:SETSP1ON +# % gui, , readback, Setpoint 1 Off, SR03A-VA-IONP-16:SP1OFF +# % gui, , demand, Setpoint 1 Off, SR03A-VA-IONP-16:SETSP1OFF +# % gui, , readback, Setpoint 2 On, SR03A-VA-IONP-16:SP2ON +# % gui, , demand, Setpoint 2 On, SR03A-VA-IONP-16:SETSP2ON +# % gui, , readback, Setpoint 2 Off, SR03A-VA-IONP-16:SP2OFF +# % gui, , demand, Setpoint 2 Off, SR03A-VA-IONP-16:SETSP2OFF + +# Read pump current +# +#% controldesk Current readback +# +record(ai, "SR03A-VA-IONP-16:I") { + field(DESC, "Pump Current") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto current(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "A") + field(LOPR, "0.0") + field(HOPR, "10.0") + field(PREC, "1") +} +################################################################################ +# Read pump pressure +# +#% archiver 10 Monitor +#% controldesk Pressure readback +# +record(ai, "SR03A-VA-IONP-16:P") { + field(DESC, "Pump Pressure") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto pressure(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-IONP-16:PLOG") + field(EGU, "mbar") + field(HOPR, "1000") + field(LOPR, "1.0E-12") + field(PREC, "11") +} +record(calcout, "SR03A-VA-IONP-16:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-IONP-16:P.ADEL") + field(INPA, "SR03A-VA-IONP-16:P") +# field(INPB, "4") +# field(INPB, "3") + field(INPB, "2") + field(SCAN, "10 second") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-IONP-16:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-IONP-16:P MS") + field(HOPR, "3") + field(LOPR, "-12") +# field(ADEL, "0.1") +# field(ADEL, "0.125") +# field(ADEL, "0.176") + field(ADEL, "0.25") +} +################################################################################ +# Read pump voltage +# +#% controldesk Voltage readback +# +record(longin, "SR03A-VA-IONP-16:V") { + field(DESC, "Pump Voltage") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto voltage(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(EGU, "V") + field(LOPR, "0") + field(HOPR, "10") +} +################################################################################ +# Get HV Strapping +# +#% archiver 1 Monitor +#% controldesk HV Strapping readback +# +record(longin, "SR03A-VA-IONP-16:HV") +{ + field(DESC, "HV Strapping") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto strap(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "V") + field(LOPR, "5600") + field(HOPR, "7000") +} +################################################################################ +# Get supply status +# +#% archiver 10 Monitor +#% controldesk Supply Status smon +#% None $SEVRCOMMAND UP_ANY dls-alh-handler.py SR03A-VA-IONP-16:STA +record(mbbi, "SR03A-VA-IONP-16:STA") +{ + field(DESC, "Supply Status") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto status(01,2) MPC_A_08_PORT") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Waiting") + field(TWST, "Standby") + field(THST, "Safe-Conn") + field(FRST, "Running") + field(FVST, "Cool Down") + field(SXST, "Pump Error") + field(SVST, "HV Switched Off") + field(EIST, "Interlock") + field(NIST, "Shut Down") + field(TEST, "Calibration") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "MAJOR") + field(TWSV, "MAJOR") + field(THSV, "MAJOR") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") + field(FLNK, "SR03A-VA-IONP-16:ERRSEL") +} + +record(seq, "SR03A-VA-IONP-16:ERRSEQ") +{ + field(DESC, "Get Error if applicable") + field(SCAN, "Passive") + field(SELM, "Specified") + field(SELN, "1") + field(DOL1, "0") + field(LNK1, "SR03A-VA-IONP-16:ERR PP MS") + field(DOL2, "SR03A-VA-IONP-16:ERRGET PP MS") + field(LNK2, "SR03A-VA-IONP-16:ERR PP MS") +} + +record(longin, "SR03A-VA-IONP-16:ERRGET") +{ + field(DESC, "Get Error Code") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto err(01,2) MPC_A_08_PORT") + field(SCAN, "Passive") +} + +record(calcout, "SR03A-VA-IONP-16:ERRSEL") +{ + field(DESC, "Choose which error source") + field(INPA, "SR03A-VA-IONP-16:STA MS") + field(CALC, "A>=3?2:1") + field(OUT, "SR03A-VA-IONP-16:ERRSEQ.SELN PP MS") +} + +# +#% archiver 10 Monitor +#% controldesk Error Code smon +# +record(mbbi, "SR03A-VA-IONP-16:ERR") +{ + field(DESC, "Error Code") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "OK") + field(ONST, "Too many cycles") + field(TWST, "High pressure") + field(THST, "High current") + field(FRST, "High pressure") + field(FVST, "Pump power") + field(SXST, "High current") + field(SVST, "Short circuit") + field(EIST, "Malfunction") + field(NIST, "Low voltage") + field(TEST, "Arc detect") + field(ELST, "11") + field(TVST, "12") + field(TTST, "13") + field(FTST, "14") + field(FFST, "15") + field(UNSV, "MINOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "MINOR") + field(EISV, "MINOR") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MINOR") + field(TVSV, "MINOR") + field(TTSV, "MINOR") + field(FTSV, "MINOR") + field(FFSV, "MINOR") +} +################################################################################ +# Pump size +# +#% archiver 10 Monitor +#% controldesk Pump Size readback +# +record(longin, "SR03A-VA-IONP-16:SIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto size(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(EGU, "l/s") + field(LOPR, "0") + field(HOPR, "1200") +} +# +#% archiver 10 Monitor +#% controldesk Pump Size setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSIZE") { + field(DESC, "Pump Size") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsize(01,2) MPC_A_08_PORT") + field(PINI, "YES") + field(DOL, "300") + field(EGU, "l/s") + field(DRVL, "0") + field(DRVH, "1200") + field(LOPR, "0") + field(HOPR, "1200") + field(PREC, "0") +} +################################################################################ +# Calibration factor +# +#% archiver 10 Monitor +#% controldesk Calibration Factor readback +# +record(ai, "SR03A-VA-IONP-16:CAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto cal(01,2) MPC_A_08_PORT") + field(SCAN, "10 second") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +# +#% archiver 10 Monitor +#% controldesk Calibration Factor setpoint +# +record(ao, "SR03A-VA-IONP-16:SETCAL") { + field(DESC, "Calibration Factor") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setcal(01,2) MPC_A_08_PORT") + field(DRVL, "0.0") + field(DRVH, "9.99") + field(LOPR, "0.0") + field(HOPR, "9.99") + field(PREC, "2") +} +################################################################################ +# Start +# +#% archiver 10 Monitor +#% controldesk Supply Status scon +# +record(bo, "SR03A-VA-IONP-16:START") +{ + field(DESC, "HV on/off") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto start(01,2) MPC_A_08_PORT") + field(ZNAM, "Stop") + field(ONAM, "Start") +} +record(bi,"SR03A-VA-IONP-16:STARTING") +{ + field(DESC, "Starting Pumps") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Starting") +} + +################################################################################ +# Setpoints +# +# The MPC and MPCe controllers have four setpoints. Each setpoint has associated +# with it an ON pressure, an OFF pressure and a supply. +# Each pump on the controller is allocated two of the setpoints (pump setpoints 1 & 2). +# The following table describes the mapping of controller setpoints and supplies to +# each pump. +# I Gillingham: April 2015 +# +# Pump number Pump_Setpoint Controller_Setpoint Supply +# 1 1 1 1 +# 2 1 2 2 +# 1 2 3 1 +# 2 2 4 2 + +## ----------------- SP1 ------------------------------- +# +# ----------------------------------------------------------------------------------------- +# These two records work together to provide one scan +# to correctly initialise the SETSPS1 and SETSPS2 records just once +# at startup. +# +record(bo, "SR03A-VA-IONP-16:INIT:SETSPSDIS") + { + field(DTYP, "Soft Channel") + field(VAL, "1") + field(OUT, "SR03A-VA-IONP-16:INIT:SETSPSEQ.DISA") + } +# +# 1) Get the instrument value for SP1 ON/OFF +# 1a) Wait one second for :RQSTSP1ON to complete and populate :SP1OFF and :SP1ON +# 2) Disable instrument update of setting SP1 ON/OFF +# 3) LOAD SETSP1OFF with SP1OFF +# 4) LOAD SETSP1ON with SP1ON +# 5) Enable instrument update of setting SP1 ON/OFF +# 6) Process seq for SP2 +# 7) Disable this seq record from processing again +record(seq, "SR03A-VA-IONP-16:INIT:SETSPSEQ") + { + field(SCAN, "1 second") + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-16:RQSTSP1ON PP") + field(LNK2, "SR03A-VA-IONP-16:SETSPS1.DISA PP") + field(LNK3, "SR03A-VA-IONP-16:SETSP1OFF PP") + field(LNK4, "SR03A-VA-IONP-16:SETSP1ON PP") + field(LNK5, "SR03A-VA-IONP-16:SETSPS1.DISA PP") + field(LNK6, "SR03A-VA-IONP-16:INIT:SETSP2SEQ PP") + field(LNK7, "SR03A-VA-IONP-16:INIT:SETSPSDIS PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY7, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-16:SP1OFF") + field(DOL4, "SR03A-VA-IONP-16:SP1ON") + field(DOL5, "0") + field(DOL6, "0") + field(DOL7, "1") + } + +# 1) Get the instrument value for SP2 ON/OFF +# 1a) Wait one second for :RQSTSP2ON to complete and populate :SP2OFF and :SP2ON +# 2) Disable instrument update of setting SP2 ON/OFF +# 3) LOAD SETSP2OFF with SP2OFF +# 4) LOAD SETSP2ON with SP2ON +# 5) Enable instrument update of setting SP2 ON/OFF +record(seq, "SR03A-VA-IONP-16:INIT:SETSP2SEQ") + { + field(SELM, "All") + field(LNK1, "SR03A-VA-IONP-16:RQSTSP2ON PP") + field(LNK2, "SR03A-VA-IONP-16:SETSPS2.DISA PP") + field(LNK3, "SR03A-VA-IONP-16:SETSP2OFF PP") + field(LNK4, "SR03A-VA-IONP-16:SETSP2ON PP") + field(LNK5, "SR03A-VA-IONP-16:SETSPS2.DISA PP") + field(DLY1, "0") + field(DLY2, "3.0") + field(DLY3, "0") + field(DLY4, "0") + field(DOL1, "0") + field(DOL2, "1") + field(DOL3, "SR03A-VA-IONP-16:SP2OFF") + field(DOL4, "SR03A-VA-IONP-16:SP2ON") + field(DOL5, "0") + } + + + +# Although requesting SPS is logically an input, a calcout has been +# used here to allow the return values to be injected directly into the +# given record names via input links. +# +# Record RQSTSP1OFF is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON +# Record RQSTSP1STATE is I/O Intr and gets (a copy of) any input, including input that was directed to record RQSTSP1ON + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2) - gets converted to actual setpoint in protocol. +record(ai, "SR03A-VA-IONP-16:RQSTSP1ON") + { + field(DESC, "Rqst Setpoint1") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") + field(PINI, "NO") + } + +# sps: Parameter 1) Unit number 2) Device base name 3) Logical setpoint number for this pump (1 | 2). +record(ai, "SR03A-VA-IONP-16:RQSTSP2ON") + { + field(DESC, "Rqst Setpoint2") + field(DTYP, "stream") + field(SCAN, "Passive") + field(INP, "@digitelMpc.proto getsps(01,SR03A-VA-IONP-16,2) MPC_A_08_PORT") + field(PINI, "NO") + } + + +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# This PV is written to directly from the protocol (sps) return string +# +record(ai, "SR03A-VA-IONP-16:SP1ON") + { + field(DESC, "Setpoint 1 On") + field(DTYP, "Soft Channel") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP1OFF") + { + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-16:SP1STATE") + { + field(DESC, "Setpoint 1 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP1ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 1 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 1 Off setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP1OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 1 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } + +# NB: INPF is written to by :SPNUM1 on PINI +# The supply number is equivalent to pump number (1 | 2) +# +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-16:SETSPS1") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-16:SETSP1ON") + field(INPB, "SR03A-VA-IONP-16:SETSP1OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-16:SPNUM1") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-16:RQSTSP1ON") + } + + +## ----------------- SP2 ------------------------------- + +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP2ON") + { + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 readback +# +# This PV is written to directly from the protocol (sps) return string +record(ai, "SR03A-VA-IONP-16:SP2OFF") + { + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + } +# This PV is written to directly from the protocol (sps) return string +record(bi,"SR03A-VA-IONP-16:SP2STATE") + { + field(DESC, "Setpoint 2 State") + field(PINI, "NO") + field(INP, "0") + field(ZNAM, "Off") + field(ONAM, "On") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP2ON") + { + field(VAL, "1e-08") + field(DESC, "Setpoint 2 On") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } +# +#% archiver 10 Monitor +#% controldesk Setpoint 2 Off setpoint +# +record(ao, "SR03A-VA-IONP-16:SETSP2OFF") + { + field(VAL, "2e-08") + field(DESC, "Setpoint 2 Off") + field(EGU, "mbar") + field(DRVL, "1.0E-10") + field(DRVH, "1.0E-4") + field(LOPR, "0.0") + field(HOPR, "1000.0") + field(PREC, "1") + field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } + +# NB: INPF is written to by :SPNUM2 on PINI +# INPA => Setpoint ON pressure +# INPB => Setpoint OFF pressure +# INPC => Source (usually equivalent to pump [1|2]) +# INPD => Lower pressure working limit +# INPE => Upper pressure working limit +# INPF => Setpoint interlock number [1..4] +# +record(calcout, "SR03A-VA-IONP-16:SETSPS2") + { + field(DESC, "Output Setpoints") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto setsps(01,SR03A-VA-IONP-16,1) MPC_A_08_PORT") +## field(OUT, "@digitelMpc.proto setsps(01,2) MPC_A_08_PORT") + field(INPA, "SR03A-VA-IONP-16:SETSP2ON") + field(INPB, "SR03A-VA-IONP-16:SETSP2OFF") + field(INPC, "2") + field(INPD, "1.01E-10") + field(INPE, "9.99E-5") + field(INPF, "SR03A-VA-IONP-16:SPNUM2") + field(CALC, "((AE)||(F<1))?0:F") + field(OOPT, "When Non-zero") + field(PINI, "NO") + field(FLNK, "SR03A-VA-IONP-16:RQSTSP2ON") + } + + +# Calculate the controller setpoint number for this pump +# Each setpoint has an ON and an OFF pressure attribute. +# Pump Pump Setpoint Controller Setpoint +# 1 1 1 +# 1 2 3 +# 2 1 2 +# 2 2 4 + +record(calc, "SR03A-VA-IONP-16:SPNUM1") + { + field(DESC, "Controller setpoints number Pump 1") + field(INPA, "2") + field(CALC, "(A>1)?2:1") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-16:SETSPS1") + } + +record(calc, "SR03A-VA-IONP-16:SPNUM2") + { + field(DESC, "Controller setpoints number Pump 2") + field(INPA, "2") + field(CALC, "(A>1)?4:3") + field(PINI, "YES") + # field(FLNK, "SR03A-VA-IONP-16:SETSPS2") + } + + +################################################################################ +# Text string on front panel if MPC is not the MPC2 +# MPC2 has no settext command due to the lack of an LCD display +# +record(mbbi, "SR03A-VA-IONP-16:MPC_MODEL") +{ + field(DESC, "Model Number") + field(DTYP, "stream") + field(INP, "@digitelMpc.proto model(01) MPC_A_08_PORT") + field(SCAN, "Passive") + field(ZRST, "MPC2") + field(ONST, "MPCe") + field(TWST, "MPCq") + field(THST, "QPC") + field(PINI, "YES") + field(FLNK, "SR03A-VA-IONP-16:SETTEXT_PROC PP") +} + +record(calcout, "SR03A-VA-IONP-16:SETTEXT_PROC") { + field(DESC, "Prevents SETTEXT if MPC2") + field(CALC, "A>0?1:0") + field(INPA, "SR03A-VA-IONP-16:MPC_MODEL") + field(OOPT, "When Non-zero") + field(OUT, "SR03A-VA-IONP-16:SETTEXT.PROC PP") +} + +record(stringout, "SR03A-VA-IONP-16:SETTEXT") { + field(DESC, "Text String") + field(VAL , "SR03A-VA-IONP-16") + field(DTYP, "stream") + field(OUT, "@digitelMpc.proto settext(01,2,SR03A-VA-IONP-16) MPC_A_08_PORT") + field(PINI, "NO") +} +################################################################################ + +################################################################################ +# Text error message +# +record(stringin, "SR03A-VA-IONP-16:ERROR") + { + field(DESC, "Last error message") + } + +# PINI set to ensure the record is initialised with TIMEOUT status, +# which will only change to OK once communication starts. +record(mbbi, "SR03A-VA-IONP-16:COMMS") + { + field(DESC, "Communication Status") + field(DTYP, "Soft Channel") + field(SCAN, "Passive") + field(ZRST, "TIMEOUT") + field(ONST, "OK") + field(INP, "0") + field(PINI, "YES") + } + +record(scalcout, "SR03A-VA-IONP-16:COMMSMATCH") + { + field(INAA, "SR03A-VA-IONP-16:P.STAT MS CP") + field(CALC, "printf('%d',AA!='TIMEOUT'?1:0)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-IONP-16:COMMS PP MS") + } + + + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V1, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-01, DIRILK1= +# % gui, V1, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-01, DIRILK1=, box-label=SR03A-VA-VALVE-01 +# +# This associates BOY screens with the template +# % gui, V1, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, valvetype=valve +# % gui, V1, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, name=V1, valvetype=valve +# % gui, V1, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-01, DESC=SR03A-VA-VALVE-01, name=V1, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-01:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# The label macros are the string fields on mbbi or mbbo records. +# These fields under EPICS R3.14.12.7 are limited to 25 characters. +# +# There are further macros defined in the template which +# do not have an entry in the expand command and they are passed +# through untouched, notably device and allowpv. +# + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-01:CALCCON +record(mbbo, "SR03A-VA-VALVE-01:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-01:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-01:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-01:CON PP") + field(LNK2, "SR03A-VA-VALVE-01:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-01:CALCCON +record(bi, "SR03A-VA-VALVE-01:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-01:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-01:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-01:CALCCON") { + field(INPB, "SR03A-VA-VALVE-01:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-01:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-01:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[1] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-01:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-01:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-01:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-01:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-01:DONECALC") { + field(INPA, "SR03A-VA-VALVE-01:CON MS") + field(INPB, "SR03A-VA-VALVE-01:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-01:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-01:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-01:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-01:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-01:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V1, sevr +record(mbbi, "SR03A-VA-VALVE-01:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-01:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-01:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[1]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-01:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-01:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[1]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-01:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[1] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-01:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-01:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-01:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-01:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[1]") +} + +record(busy, "SR03A-VA-VALVE-01:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-01:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-01:STA CP") +} + + + +# The template also has a device macro, which does not appear in the expand +# definitions so flatdb passes it through unchanged. +# Get V.ILK1_ (i.e. V.ILK1_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-01:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-01:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-01:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-01:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-01:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-01:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-01:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-01:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-01:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-01:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-01:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-01:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-01:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-01:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-01:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-01:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-01:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-01:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-01:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-01:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-01:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-01:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# Following gets the second set of valve interlocks V[n].ILK2 which are only really relevent for bistable valves. +# Get V.ILK2_ (i.e. V.ILK2_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-01:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-01:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-01:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-01:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-01:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-01:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-01:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-01:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# The file has macros which do not appear in the expand definition so +# flatdb passes them through unchanged. +# + + + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-01:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-01:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-01:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-01:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-01:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-01:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-01:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-01:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-01:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-01:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-01:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-01:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-01:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-01:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-01:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-01:GILK15.ONAM") +} + + + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-01:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-01:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[1] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-01:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[1] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-01:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[1]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-01:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-01:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-01:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-01:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-01:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[1]") +} + + + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-01:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[1]") + field(ADEL, "0.1") + field(PREC, "1") +} + + + + + + + + + + + + + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V2, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-02, DIRILK1= +# % gui, V2, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-02, DIRILK1=, box-label=SR03A-VA-VALVE-02 +# +# This associates BOY screens with the template +# % gui, V2, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, valvetype=valve +# % gui, V2, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, name=V2, valvetype=valve +# % gui, V2, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-02, DESC=SR03A-VA-VALVE-02, name=V2, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-02:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# The label macros are the string fields on mbbi or mbbo records. +# These fields under EPICS R3.14.12.7 are limited to 25 characters. +# +# There are further macros defined in the template which +# do not have an entry in the expand command and they are passed +# through untouched, notably device and allowpv. +# + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-02:CALCCON +record(mbbo, "SR03A-VA-VALVE-02:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-02:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-02:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-02:CON PP") + field(LNK2, "SR03A-VA-VALVE-02:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-02:CALCCON +record(bi, "SR03A-VA-VALVE-02:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-02:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-02:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-02:CALCCON") { + field(INPB, "SR03A-VA-VALVE-02:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-02:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-02:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[2] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-02:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-02:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-02:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-02:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-02:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-02:DONECALC") { + field(INPA, "SR03A-VA-VALVE-02:CON MS") + field(INPB, "SR03A-VA-VALVE-02:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-02:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-02:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-02:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-02:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-02:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-02:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V2, sevr +record(mbbi, "SR03A-VA-VALVE-02:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-02:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-02:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[2]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-02:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-02:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[2]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-02:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[2] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-02:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-02:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-02:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-02:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[2]") +} + +record(busy, "SR03A-VA-VALVE-02:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-02:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-02:STA CP") +} + + + +# The template also has a device macro, which does not appear in the expand +# definitions so flatdb passes it through unchanged. +# Get V.ILK1_ (i.e. V.ILK1_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-02:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-02:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-02:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-02:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-02:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-02:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-02:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-02:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-02:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-02:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-02:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-02:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-02:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-02:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-02:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-02:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-02:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-02:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-02:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-02:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-02:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-02:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-02:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# Following gets the second set of valve interlocks V[n].ILK2 which are only really relevent for bistable valves. +# Get V.ILK2_ (i.e. V.ILK2_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-02:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-02:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-02:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-02:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[2] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-02:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-02:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-02:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-02:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# The file has macros which do not appear in the expand definition so +# flatdb passes them through unchanged. +# + + + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-02:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-02:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-02:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-02:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-02:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-02:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-02:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-02:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-02:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-02:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-02:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-02:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-02:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-02:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-02:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-02:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-02:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-02:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-02:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-02:GILK15.ONAM") +} + + + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-02:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-02:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-02:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[2] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-02:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[2] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-02:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[2]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-02:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-02:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-02:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-02:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-02:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[2]") +} + + + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-02:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[2]") + field(ADEL, "0.1") + field(PREC, "1") +} + + + + + + + + + + + + + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V3, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-03, DIRILK1= +# % gui, V3, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-03, DIRILK1=, box-label=SR03A-VA-VALVE-03 +# +# This associates BOY screens with the template +# % gui, V3, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, valvetype=valve +# % gui, V3, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, name=V3, valvetype=valve +# % gui, V3, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-03, DESC=SR03A-VA-VALVE-03, name=V3, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-03:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# The label macros are the string fields on mbbi or mbbo records. +# These fields under EPICS R3.14.12.7 are limited to 25 characters. +# +# There are further macros defined in the template which +# do not have an entry in the expand command and they are passed +# through untouched, notably device and allowpv. +# + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-03:CALCCON +record(mbbo, "SR03A-VA-VALVE-03:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-03:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-03:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-03:CON PP") + field(LNK2, "SR03A-VA-VALVE-03:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-03:CALCCON +record(bi, "SR03A-VA-VALVE-03:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-03:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-03:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-03:CALCCON") { + field(INPB, "SR03A-VA-VALVE-03:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-03:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-03:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[3] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-03:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-03:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-03:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-03:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-03:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-03:DONECALC") { + field(INPA, "SR03A-VA-VALVE-03:CON MS") + field(INPB, "SR03A-VA-VALVE-03:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-03:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-03:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-03:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-03:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-03:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-03:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V3, sevr +record(mbbi, "SR03A-VA-VALVE-03:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-03:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-03:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[3]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-03:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-03:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[3]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-03:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[3] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-03:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-03:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-03:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-03:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[3]") +} + +record(busy, "SR03A-VA-VALVE-03:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-03:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-03:STA CP") +} + + + +# The template also has a device macro, which does not appear in the expand +# definitions so flatdb passes it through unchanged. +# Get V.ILK1_ (i.e. V.ILK1_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-03:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-03:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-03:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-03:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-03:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-03:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-03:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-03:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-03:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-03:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-03:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-03:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-03:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-03:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-03:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-03:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-03:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-03:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-03:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-03:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-03:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-03:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-03:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# Following gets the second set of valve interlocks V[n].ILK2 which are only really relevent for bistable valves. +# Get V.ILK2_ (i.e. V.ILK2_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-03:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-03:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-03:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-03:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[3] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[3] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-03:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-03:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-03:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-03:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# The file has macros which do not appear in the expand definition so +# flatdb passes them through unchanged. +# + + + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-03:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-03:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-03:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-03:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-03:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-03:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-03:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-03:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-03:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-03:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-03:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-03:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-03:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-03:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-03:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-03:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-03:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-03:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-03:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-03:GILK15.ONAM") +} + + + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-03:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-03:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-03:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[3] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-03:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[3] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-03:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[3]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-03:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-03:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-03:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-03:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-03:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[3]") +} + + + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-03:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[3]") + field(ADEL, "0.1") + field(PREC, "1") +} + + + + + + + + + + + + + +# NX102_vacValve.vdb is expanded to NX102_vacValve.template by flatdb. +# +#% macro, __doc__, Template database for a vacuum valve without debounce or raw air records +#% macro, device, device name +#% macro, port, EtherIP Port Name +#% macro, tag, NX PLC tag string e.g. V (from V.Control[1]) +#% macro, tagidx, NX PLC tag index number e.g. 1 (from V.Control[1]) +#% macro, ILKNUM, Part of definition of gauge interlocks, Gauge NX PLC tag (Gauge.PIRG[dollar(ILKNUM)]) +# +#% macro, allowpv, If specified, then only write an open command when this is non-zero. MUST have CP at the end of it. (Optional - defaults to "") +#% macro, whylocked, String to output to EDM synoptic as to precisely why the device is locked and by whom. (Optional. Defaults to "Open command not allowed") +# +#% macro, con_label0, Label string for control value 0 (Optional - defaults to Open) +#% macro, con_label1, Label string for control value 1 (Optional - defaults to Close) +#% macro, con_label2, Label string for control value 2 (Optional - defaults to Reset) +#% macro, con_label3, Label string for control value 3 (Optional - defaults to "") +#% macro, con_label4, Label string for control value 4 (Optional - defaults to "") +#% macro, con_label5, Label string for control value 5 (Optional - defaults to "") +#% macro, con_label6, Label string for control value 6 (Optional - defaults to "") +#% macro, con_label7, Label string for control value 7 (Optional - defaults to "") +# +#% macro, sta_label0, Label string for status value 0 (Optional - defaults to Fault) +#% macro, sta_label1, Label string for status value 1 (Optional - defaults to Open) +#% macro, sta_label2, Label string for status value 2 (Optional - defaults to Opening) +#% macro, sta_label3, Label string for status value 3 (Optional - defaults to Closed) +#% macro, sta_label4, Label string for status value 4 (Optional - defaults to Closing) +#% macro, sta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, sta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, sta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, sta_sv0, Alarm severity for status value 0 (Optional - defaults to MAJOR) +#% macro, sta_sv1, Alarm severity for status value 1 (Optional - defaults to NO_ALARM) +#% macro, sta_sv2, Alarm severity for status value 2 (Optional - defaults to NO_ALARM) +#% macro, sta_sv3, Alarm severity for status value 3 (Optional - defaults to NO_ALARM) +#% macro, sta_sv4, Alarm severity for status value 4 (Optional - defaults to NO_ALARM) +#% macro, sta_sv5, Alarm severity for status value 5 (Optional - defaults to NO_ALARM) +#% macro, sta_sv6, Alarm severity for status value 6 (Optional - defaults to NO_ALARM) +#% macro, sta_sv7, Alarm severity for status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, ilksta_label0, Label string for status value 0 (Optional - defaults to Failed) +#% macro, ilksta_label1, Label string for status value 1 (Optional - defaults to Run Ilks Ok) +#% macro, ilksta_label2, Label string for status value 2 (Optional - defaults to OK) +#% macro, ilksta_label3, Label string for status value 3 (Optional - defaults to Disarmed) +#% macro, ilksta_label4, Label string for status value 4 (Optional - defaults to "") +#% macro, ilksta_label5, Label string for status value 5 (Optional - defaults to "") +#% macro, ilksta_label6, Label string for status value 6 (Optional - defaults to "") +#% macro, ilksta_label7, Label string for status value 7 (Optional - defaults to "") +# +#% macro, ilksta_sv0, Alarm severity for interlock status value 0 (Optional - defaults to MAJOR) +#% macro, ilksta_sv1, Alarm severity for interlock status value 1 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv2, Alarm severity for interlock status value 2 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv3, Alarm severity for interlock status value 3 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv4, Alarm severity for interlock status value 4 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv5, Alarm severity for interlock status value 5 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv6, Alarm severity for interlock status value 6 (Optional - defaults to NO_ALARM) +#% macro, ilksta_sv7, Alarm severity for interlock status value 7 (Optional - defaults to NO_ALARM) +# +#% macro, mode1, name of remote operational mode (:MODE.ZNAM) (Optional - defaults Operational) +#% macro, mode2, name of local operational mode (:MODE.ONAM) (Optional - defaults Service) +#% macro, DIRILK1, Part of ILK1 PV name (dollar(device):dollar(DIRILK1)ILK), named for "direction" of operation controlled by ILK1, e.g. set to OPEN for Bistable valve or leave blank for ordinary valve. (Optional - defaults to "") +#% macro, DIRILK2, Part of ILK2 PV name (dollar(device):dollar(DIRILK2)ILK), named for "direction" of operation controlled by ILK2, e.g. set to CLOSE for Bistable valves (Optional - defaults to "ILK2") +# +#% macro, name, Object name and associated gui name (Optional - defaults to "") +#% macro, desc, Box label for gui (Optional - defaults to value of device macro) +# +# This associates an edm screen with the template +# % gui, V4, edm, NX102_vacuumValve.edl, device=SR03A-VA-VALVE-04, DIRILK1= +# % gui, V4, edmembed, NX102_vacuumValve-embed.edl, device=SR03A-VA-VALVE-04, DIRILK1=, box-label=SR03A-VA-VALVE-04 +# +# This associates BOY screens with the template +# % gui, V4, boydetail, dlsPLCApp_opi/NX102_vacValve_detail.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, valvetype=valve +# % gui, V4, boyembed, dlsPLCApp_opi/NX102_vacValve_embed_box.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, name=V4, valvetype=valve +# % gui, V4, boyembed, dlsPLCApp_opi/NX102_vacValve_embed.opi, device=SR03A-VA-VALVE-04, DESC=SR03A-VA-VALVE-04, name=V4, valvetype=valve +# +# This tells the gui that we don't have debounce records +record(ai, "SR03A-VA-VALVE-04:HASDEBOUNCE") { + field(VAL, "1") + field(PINI, "YES") +} + +# The label macros are the string fields on mbbi or mbbo records. +# These fields under EPICS R3.14.12.7 are limited to 25 characters. +# +# There are further macros defined in the template which +# do not have an entry in the expand command and they are passed +# through untouched, notably device and allowpv. +# + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# ############################################################################## +# Control +# +# % archiver 10 Monitor +# % controldesk Status scon +## Use this PV to request the valve to open or close +# The request will be checked by SR03A-VA-VALVE-04:CALCCON +record(mbbo, "SR03A-VA-VALVE-04:CON") { + field(DESC, "Control") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(VAL, "0") + field(OUT, "SR03A-VA-VALVE-04:CALCCON.A PP") +} + +record(seq, "SR03A-VA-VALVE-04:OPENSEQ") { + field(LNK1, "SR03A-VA-VALVE-04:CON PP") + field(LNK2, "SR03A-VA-VALVE-04:CON PP") + field(DO1, "2") + field(DO2, "0") + field(DLY2, "1") +} + +## If this PV is non-zero then an open request will be allowed by +# SR03A-VA-VALVE-04:CALCCON +record(bi, "SR03A-VA-VALVE-04:OPENALLOWED") { + field(DESC, "Allow/inhibit valve opening") + field(INP, "") + field(VAL, "1") + field(ONAM, "Yes") + field(ZNAM, "No") +} + +record(stringout, "SR03A-VA-VALVE-04:WHYLOCKED") { + field(DESC, "Reason why device is locked") + field(VAL, "Open command not allowed") +} + +## Pass all requests through to the PLC unless it is an open request and +# SR03A-VA-VALVE-04:OPENALLOWED is zero +record(calcout, "SR03A-VA-VALVE-04:CALCCON") { + field(INPB, "SR03A-VA-VALVE-04:OPENALLOWED") + field(OUT, "SR03A-VA-VALVE-04:ACTUALCON PP") + field(CALC, "(B=0&A=0)?0:1") + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "A") +} + +## Send the request down to the PLC +record(ao, "SR03A-VA-VALVE-04:ACTUALCON") { + field(DESC, "Control") + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP V.Control[4] S .2") + field(PRIO, "HIGH") + field(FLNK, "SR03A-VA-VALVE-04:SETBUSY") +} + +record(bi, "SR03A-VA-VALVE-04:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calcout, "SR03A-VA-VALVE-04:SETBUSY") { + field(CALC, "1") + field(OUT, "SR03A-VA-VALVE-04:BUSY PP NMS") + field(FLNK, "SR03A-VA-VALVE-04:DONECALC") +} + +record(calcout, "SR03A-VA-VALVE-04:DONECALC") { + field(INPA, "SR03A-VA-VALVE-04:CON MS") + field(INPB, "SR03A-VA-VALVE-04:STA CPP MS") + field(INPC, "SR03A-VA-VALVE-04:ILKSTA CPP MS") + field(INPD, "SR03A-VA-VALVE-04:LASTCON CPP MS") + field(CALC, "((A=D)&(((A*2+1)=B)|A=2|C=0))?0:1") + field(OOPT, "When Zero") + field(DOPT, "Use CALC") + field(OUT, "SR03A-VA-VALVE-04:BUSY CA NMS") +} + +# % archiver 10 Monitor +record(mbbi, "SR03A-VA-VALVE-04:LASTCON") { + field(DESC, "Control Readback") + field(DTYP, "Soft Channel") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") + field(THST, "") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(INP, "SR03A-VA-VALVE-04:LASTCON:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:LASTCON:INP") { + field(DESC, "Control Readback Raw") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Last_Control[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:LASTCON") +} + +# ################################################################### +# Interlock Status +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:ILKSTA") { + field(DESC, "Interlock Status") + field(DTYP, "Soft Channel") + field(ZRST, "Failed") + field(ONST, "Run Ilks Ok") + field(TWST, "OK") + field(THST, "Disarmed") + field(FRST, "") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(NOBT, "3") + field(INP, "SR03A-VA-VALVE-04:ILKSTA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:ILKSTA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK_Status[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:ILKSTA") +} + +# ######################################################################### +# Status +# +# % archiver 10 Monitor +# % controldesk Status smon +# This makes the component icon reflect the status +# % gui, V4, sevr +record(mbbi, "SR03A-VA-VALVE-04:STA") { + field(DESC, "Status") + field(DTYP, "Soft Channel") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(FVST, "") + field(SXST, "") + field(SVST, "") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(INP, "SR03A-VA-VALVE-04:STA:INP") +} + +# Necessary to have this extra record as mbbi does not work exactly as expected +record(ai, "SR03A-VA-VALVE-04:STA:INP") { + field(DESC, "Interlock status") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.Status[4]") + field(SCAN, ".2 second") + field(FLNK, "SR03A-VA-VALVE-04:STA") +} + +# ############################################################################ +# Number of Operations +# +# % archiver 10 Monitor +# % controldesk Number of Operations readback +record(ai, "SR03A-VA-VALVE-04:OPS") { + field(DESC, "Operations") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") + field(INP, "@VLVCC_01_EIP V.Operations_Count[4]") +} + +# ######################################################################### +# Mode Status (individual bits pulled off in each valve template +# The NOBT field specifies to reads 16 consecutive bits. +# The ether_ip B 0 flag in the INP field specifies to start at bit 0. +# +record(mbbiDirect, "SR03A-VA-VALVE-04:MODSTA") { + field(DESC, "Mode") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Service_Mode[4] B 0") + field(NOBT, "16") +} + +record(mbbi, "SR03A-VA-VALVE-04:INTERFACE") { + field(DTYP, "Soft Channel") + field(INP, "SR03A-VA-VALVE-04:INTERFACE:RAW") + field(ZRST, "Valve with limit") + field(ONST, "Valve without limit") + field(TWST, "Bistable valve") + field(THST, "Dual valve") + field(FRST, "Butterfly valve") + field(FVST, "Fast valve") +} + +record(ai, "SR03A-VA-VALVE-04:INTERFACE:RAW") { + field(SCAN, "10 second") + field(DTYP, "EtherIP") + field(FLNK, "SR03A-VA-VALVE-04:INTERFACE") + field(INP, "@VLVCC_01_EIP V.Interfc[4]") +} + +record(busy, "SR03A-VA-VALVE-04:BUSY") { +} + +record(calcout, "SR03A-VA-VALVE-04:MOVN") { + field(DESC, "Is valve moving") + field(DTYP, "Soft Channel") + field(CALC, "A=2|A=4") + field(INPA, "SR03A-VA-VALVE-04:STA CP") +} + + + +# The template also has a device macro, which does not appear in the expand +# definitions so flatdb passes it through unchanged. +# Get V.ILK1_ (i.e. V.ILK1_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Latched[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-04:LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-04:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-04:ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-04:ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-04:ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-04:ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-04:ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-04:ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-04:ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-04:ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-04:ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-04:ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-04:ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-04:ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-04:ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-04:ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-04:ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-04:ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Initial[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_Raw[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-04:ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B00_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B01_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B02_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B03_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B04_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B05_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B06_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B07_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B08_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B09_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B10_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B11_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B12_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B13_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B14_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK1_B15_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-04:ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-04:LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-04:ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-04:LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# Following gets the second set of valve interlocks V[n].ILK2 which are only really relevent for bistable valves. +# Get V.ILK2_ (i.e. V.ILK2_...[n]) + + + + + +# Arguments of VDCT hash bang Input Macro directive: +# (macro name, description, xpos, ypos, colour, defaultVisibility) +# % archiver 10 Monitor +# % controldesk Latched Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2ILK") { + field(DESC, "Latched Interlocks - tpfx :") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Latched[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") + field(FLNK, "SR03A-VA-VALVE-04:ILK2LATILKCALC") +} + +# Individual Interlocks +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03A-VA-VALVE-04:ILK2ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:ILK2ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-VALVE-04:ILK2ILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +# % archiver 10 Monitor +# % controldesk Initial Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2INIILK") { + field(DESC, "Initial Interlock") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Initial[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# % archiver 10 Monitor +# % controldesk Current Interlock Status smon +record(mbbiDirect, "SR03A-VA-VALVE-04:ILK2RAWILK") { + field(DESC, "Current Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_Raw[4] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# Records for reading back the Interlock descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") { + field(DESC, "Description of Interlock Bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B00_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK00:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") { + field(DESC, "Description of Interlock Bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B01_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK01:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") { + field(DESC, "Description of Interlock Bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B02_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK02:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") { + field(DESC, "Description of Interlock Bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B03_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK03:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") { + field(DESC, "Description of Interlock Bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B04_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK04:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") { + field(DESC, "Description of Interlock Bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B05_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK05:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") { + field(DESC, "Description of Interlock Bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B06_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK06:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") { + field(DESC, "Description of Interlock Bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B07_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK07:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") { + field(DESC, "Description of Interlock Bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B08_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK08:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") { + field(DESC, "Description of Interlock Bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B09_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK09:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") { + field(DESC, "Description of Interlock Bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B10_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") { + field(DESC, "Description of Interlock Bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B11_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") { + field(DESC, "Description of Interlock Bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B12_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") { + field(DESC, "Description of Interlock Bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B13_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") { + field(DESC, "Description of Interlock Bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B14_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") { + field(DESC, "Description of Interlock Bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP V.ILK2_B15_Desc[4] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:ILK2ILK15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK00:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK00:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK01:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK01:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK02:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK02:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK03:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK03:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK04:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK04:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK05:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK05:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK06:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK06:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK07:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK07:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK7.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK08:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK08:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK09:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK09:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:ILK2ILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:ILK2ILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:ILK2ILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:ILK2ILK15.ONAM") +} + +# ################################################################### +# Latched Interlock Status +# +# A binary go, no go status for the interlock. Comes into its own for +# valves with multiple interlocks. +# +# For example, a Bistable Valve has different interlocks for open and +# close of the valve using different expansions of the +# NX102_valveIlk.vdb template. The overall multiple state record +# ILKSTA in the NX102_valveCtrl.vdb template is given (by default) +# complex labels mentioning both open and close on the expand command +# in NX102_vacValveBistable.vdb whereas LATILKSTA is just for the open +# or the close operation. +# +# % archiver 10 Monitor +# % controldesk ILK2 Interlock Status smon +record(mbbi, "SR03A-VA-VALVE-04:ILK2LATILKSTA") { + field(DESC, "Open Interlock Status") + field(DTYP, "Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") +} + +record(calcout, "SR03A-VA-VALVE-04:ILK2LATILKCALC") { + field(INPA, "SR03A-VA-VALVE-04:ILK2ILK MS") + field(CALC, "A=65535?1:0") + field(OUT, "SR03A-VA-VALVE-04:ILK2LATILKSTA PP") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + + + +# The file has macros which do not appear in the expand definition so +# flatdb passes them through unchanged. +# + + + +################################################################################ +#% archiver 10 Monitor +#% controldesk IMG Interlock Status smon +# +# The NOBT field specifies that 16 consecutive bits of data will be read into +# the record. +# The ether_ip B flag value of zero in the INP field specifies the address +# of the first bit of the 16 is the first bit in the element value. +# +record(mbbiDirect, "SR03A-VA-VALVE-04:IMGILK") { + field(DESC, "IMG Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.IMG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +#% archiver 10 Monitor +#% controldesk Pirani Interlock Status smon +# +record(mbbiDirect, "SR03A-VA-VALVE-04:PIRGILK") { + field(DESC, "Pirani Interlocks") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.PIRG[1] B 0") + field(SCAN, "1 second") + field(NOBT, "16") +} + +################################################################################ +# Combined Gauge Interlock Status. +# +#% archiver 10 Monitor +record(mbbiDirect, "SR03A-VA-VALVE-04:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-VALVE-04:CALGILK MS") +} + +# Calculation to combine IMG and PIRG interlock status to make +# combined gauge status. +# +record(calc, "SR03A-VA-VALVE-04:CALGILK") { + field(CALC, "A&B") + field(FLNK, "SR03A-VA-VALVE-04:GAUGEILK") + field(INPA, "SR03A-VA-VALVE-04:IMGILK CP MS") + field(INPB, "SR03A-VA-VALVE-04:PIRGILK CP MS") +} + +################################################################################ +# Individual Gauge Interlocks +# +# The ZNAM and ONAM fields of these records are initialised by records below +# which read back the interlock description label strings for the individual +# bits of the interlock and write into these records. +# +record(bi, "SR03A-VA-VALVE-04:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +################################################################################ +# Descriptions of the Individual Gauge Interlock bits read back from the PLC. +# The ether_ip S 0 flag means scan period time of 0, required because the record +# is I/O Intr and does not specify a time. +# The ether_ip E flag means read one element of the array, not to bundle all +# requests for that array. +# +record(stringin, "SR03A-VA-VALVE-04:GILK0:DESC") { + field(DESC, "Gauge Ilk Bit 0 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B00_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK0:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK1:DESC") { + field(DESC, "Gauge Ilk Bit 1 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B01_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK1:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK2:DESC") { + field(DESC, "Gauge Ilk Bit 2 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B02_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK2:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK3:DESC") { + field(DESC, "Gauge Ilk Bit 3 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B03_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK3:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK4:DESC") { + field(DESC, "Gauge Ilk Bit 4 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B04_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK4:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK5:DESC") { + field(DESC, "Gauge Ilk Bit 5 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B05_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK5:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK6:DESC") { + field(DESC, "Gauge Ilk Bit 6 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B06_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK6:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK7:DESC") { + field(DESC, "Gauge Ilk Bit 7 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B07_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK7:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK8:DESC") { + field(DESC, "Gauge Ilk Bit 8 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B08_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK8:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK9:DESC") { + field(DESC, "Gauge Ilk Bit 9 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B09_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK9:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK10:DESC") { + field(DESC, "Gauge Ilk Bit 10 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B10_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK10:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK11:DESC") { + field(DESC, "Gauge Ilk Bit 11 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B11_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK11:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK12:DESC") { + field(DESC, "Gauge Ilk Bit 12 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B12_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK12:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK13:DESC") { + field(DESC, "Gauge Ilk Bit 13 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B13_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK13:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK14:DESC") { + field(DESC, "Gauge Ilk Bit 14 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B14_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK14:FAN") +} + +record(stringin, "SR03A-VA-VALVE-04:GILK15:DESC") { + field(DESC, "Gauge Ilk Bit 15 Description") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Gauge.B15_Desc[1] S 0 E") + field(FLNK, "SR03A-VA-VALVE-04:GILK15:FAN") +} + +################################################################################ +# Records to fanout out the description strings of the Individual +# Gauge Interlock bits read back from the PLC to where they are +# required on the the Individual Gauge Interlock records. +# +record(sseq, "SR03A-VA-VALVE-04:GILK0:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK0:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK0.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK0:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK0.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK1:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK1:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK1.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK1:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK1.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK2:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK2:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK2.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK2:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK2.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK3:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK3:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK3.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK3:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK3.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK4:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK4:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK4.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK4:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK4.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK5:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK5:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK5.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK5:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK5.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK6:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK6:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK6.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK6:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK6.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK7:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK7:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK7.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK7:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK7.ONAM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03A-VA-VALVE-04:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-VALVE-04:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK8:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK8:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK8.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK8:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK8.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK9:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK9:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK9.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK9:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK9.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK10:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK10:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK10.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK10:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK10.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK11:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK11:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK11.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK11:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK11.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK12:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK12:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK12.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK12:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK12.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK13:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK13:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK13.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK13:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK13.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK14:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK14:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK14.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK14:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK14.ONAM") +} + +record(sseq, "SR03A-VA-VALVE-04:GILK15:FAN") { + field(DOL1, "SR03A-VA-VALVE-04:GILK15:DESC") + field(LNK1, "SR03A-VA-VALVE-04:GILK15.ZNAM") + field(DOL2, "SR03A-VA-VALVE-04:GILK15:DESC") + field(LNK2, "SR03A-VA-VALVE-04:GILK15.ONAM") +} + + + +# Operational/Service Mode +#% archiver 10 Monitor +#% controldesk Mode smon +# +record(bi, "SR03A-VA-VALVE-04:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-VALVE-04:MODSTA.B0 CP MS") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(ao, "SR03A-VA-VALVE-04:SETPRESSURE") { + field(DESC, "Butterfly valve set pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Pressure[4] FORCE") + field(PREC, "2") +} + +record(ao, "SR03A-VA-VALVE-04:SETPOSITION") { + field(DESC, "Butterfly valve set position") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(OUT, "@VLVCC_01_EIP V.User_Set_Position[4] FORCE") + field(PREC, "1") +} + +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-04:POSITION") { + field(DESC, "Butterfly valve position or Pressure") + field(DTYP, "EtherIP") + field(SCAN, ".2 second") + field(INP, "@VLVCC_01_EIP V.Position[4]") + field(EGU, "%") + field(ADEL, "0.1") + field(PREC, "1") +} + +# Air Pressure De-bounce Time +# +#% controldesk Air Pressure De-bounce Time setpoint +# +record(ao, "SR03A-VA-VALVE-04:SETADB") { + field(DTYP, "Raw Soft Channel") + field(DESC, "De-bounce Time") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(ASLO, "0.1") + field(PINI, "YES") + field(OUT, "SR03A-VA-VALVE-04:OUTTIMEOUT PP") +} + +# +#% archiver 10 Monitor +#% controldesk Air Pressure De-bounce Time readback +# +record(calc, "SR03A-VA-VALVE-04:ADB") { + field(DESC, "De-bounce Time") + field(CALC, "A/10.0") + field(INPA, "SR03A-VA-VALVE-04:INPTIMEOUT CP MS") + field(SCAN, "1 second") + field(EGU, "s") + field(PREC, "1") +} + +record(ao, "SR03A-VA-VALVE-04:OUTTIMEOUT") { + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(OUT, "@VLVCC_01_EIP V.Air_Debounce_Time[4]") +} + + + +# DX00 +# % archiver 10 Monitor +record(ai, "SR03A-VA-VALVE-04:INPTIMEOUT") { + field(DESC, "Debounce time readback") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(INP, "@VLVCC_01_EIP V.Air_Debounce_Time_RB[4]") + field(ADEL, "0.1") + field(PREC, "1") +} + + + + + + + + + + + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03S-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03S-VA-RGA-01, desc=SR03S-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03S-VA-RGA-01, desc=SR03S-VA-RGA-01, name= +# % gui, , readback, Status, SR03S-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03S-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03S-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03S-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03S-VA-RGA-01:FILSTA PP") + field(INPC, "SR03S-VA-RGA-01:SEV MS") +} +record(calc, "SR03S-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03S-VA-RGA-01:SEV.VAL") + field(INPB, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03S-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(1) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03S-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03S-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(1) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03S-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03S-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(FLNK, "SR03S-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:SEL") + field(FLNK, "SR03S-VA-RGA-01:DISPJ1") +} +record(calc, "SR03S-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ2") +} +record(calc, "SR03S-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ3") +} +record(calc, "SR03S-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ4") +} +record(calc, "SR03S-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ5") +} +record(calc, "SR03S-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ6") +} +record(calc, "SR03S-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ7") +} +record(calc, "SR03S-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ8") +} +record(calc, "SR03S-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ9") +} +record(calc, "SR03S-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ10") +} +record(calc, "SR03S-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ11") +} +record(calc, "SR03S-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03S-VA-RGA-01:DISPJ12") +} +record(calc, "SR03S-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03S-VA-RGA-01:STA") + field(INPB, "SR03S-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03S-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03S-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(1) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03S-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(1) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03S-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(1) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03S-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03S-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03S-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03S-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(1) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03S-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03S-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(1) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03S-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03S-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(1) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03S-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03S-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03S-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(longin, "SR03S-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03S-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03S-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03S-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03S-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(1) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03S-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03S-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(1) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03S-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03S-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03S-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03S-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03S-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03S-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03S-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03S-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03S-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03S-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03S-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS50") + field(FLNK, "SR03S-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03S-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS20") + field(FLNK, "SR03S-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS100") + field(FLNK, "SR03S-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03S-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(1,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03S-VA-RGA-01:DIS200") + field(FLNK, "SR03S-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03S-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03S-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03S-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03S-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03S-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03S-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03S-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03S-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03S-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(1) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03S-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03A-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03A-VA-RGA-01, desc=SR03A-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03A-VA-RGA-01, desc=SR03A-VA-RGA-01, name= +# % gui, , readback, Status, SR03A-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03A-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03A-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03A-VA-RGA-01:FILSTA PP") + field(INPC, "SR03A-VA-RGA-01:SEV MS") +} +record(calc, "SR03A-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-01:SEV.VAL") + field(INPB, "SR03A-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03A-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(2) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03A-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03A-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(2) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03A-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(FLNK, "SR03A-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:SEL") + field(FLNK, "SR03A-VA-RGA-01:DISPJ1") +} +record(calc, "SR03A-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ2") +} +record(calc, "SR03A-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ3") +} +record(calc, "SR03A-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ4") +} +record(calc, "SR03A-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ5") +} +record(calc, "SR03A-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ6") +} +record(calc, "SR03A-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ7") +} +record(calc, "SR03A-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ8") +} +record(calc, "SR03A-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ9") +} +record(calc, "SR03A-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ10") +} +record(calc, "SR03A-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ11") +} +record(calc, "SR03A-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03A-VA-RGA-01:DISPJ12") +} +record(calc, "SR03A-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-01:STA") + field(INPB, "SR03A-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03A-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03A-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(2) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03A-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(2) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03A-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(2) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03A-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03A-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03A-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(2) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03A-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03A-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(2) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03A-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(2) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03A-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03A-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03A-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(longin, "SR03A-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03A-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03A-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(2) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03A-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(2) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03A-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03A-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03A-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03A-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03A-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03A-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03A-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS50") + field(FLNK, "SR03A-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS20") + field(FLNK, "SR03A-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS100") + field(FLNK, "SR03A-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(2,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-01:DIS200") + field(FLNK, "SR03A-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03A-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03A-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03A-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03A-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03A-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(2) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03A-VA-RGA-02 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03A-VA-RGA-02, desc=SR03A-VA-RGA-02, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03A-VA-RGA-02, desc=SR03A-VA-RGA-02, name= +# % gui, , readback, Status, SR03A-VA-RGA-02:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03A-VA-RGA-02:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03A-VA-RGA-02:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-02:HEADSTA PP") + field(INPB, "SR03A-VA-RGA-02:FILSTA PP") + field(INPC, "SR03A-VA-RGA-02:SEV MS") +} +record(calc, "SR03A-VA-RGA-02:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03A-VA-RGA-02:SEV.VAL") + field(INPB, "SR03A-VA-RGA-02:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03A-VA-RGA-02:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(3) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03A-VA-RGA-02:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03A-VA-RGA-02:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(3) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-02:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03A-VA-RGA-02:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(FLNK, "SR03A-VA-RGA-02:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:SEL") + field(FLNK, "SR03A-VA-RGA-02:DISPJ1") +} +record(calc, "SR03A-VA-RGA-02:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN1.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ2") +} +record(calc, "SR03A-VA-RGA-02:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN2.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ3") +} +record(calc, "SR03A-VA-RGA-02:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN3.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ4") +} +record(calc, "SR03A-VA-RGA-02:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN4.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ5") +} +record(calc, "SR03A-VA-RGA-02:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN5.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ6") +} +record(calc, "SR03A-VA-RGA-02:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN6.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ7") +} +record(calc, "SR03A-VA-RGA-02:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN7.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ8") +} +record(calc, "SR03A-VA-RGA-02:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN8.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ9") +} +record(calc, "SR03A-VA-RGA-02:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN9.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ10") +} +record(calc, "SR03A-VA-RGA-02:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN10.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ11") +} +record(calc, "SR03A-VA-RGA-02:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN11.DESC") + field(FLNK, "SR03A-VA-RGA-02:DISPJ12") +} +record(calc, "SR03A-VA-RGA-02:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03A-VA-RGA-02:STA") + field(INPB, "SR03A-VA-RGA-02:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03A-VA-RGA-02:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03A-VA-RGA-02:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(3) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03A-VA-RGA-02:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(3) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03A-VA-RGA-02:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(3) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03A-VA-RGA-02:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03A-VA-RGA-02:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03A-VA-RGA-02:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03A-VA-RGA-02:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(3) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03A-VA-RGA-02:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03A-VA-RGA-02:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(3) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03A-VA-RGA-02:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03A-VA-RGA-02:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(3) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03A-VA-RGA-02:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03A-VA-RGA-02:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03A-VA-RGA-02:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(longin, "SR03A-VA-RGA-02:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03A-VA-RGA-02:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03A-VA-RGA-02:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-02:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +#record(stringin, "SR03A-VA-RGA-02:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(3) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03A-VA-RGA-02:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03A-VA-RGA-02:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(3) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03A-VA-RGA-02:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-02:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-02:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:TOTP.ADEL") + field(INPA, "SR03A-VA-RGA-02:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03A-VA-RGA-02:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03A-VA-RGA-02:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03A-VA-RGA-02:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:SUMP.ADEL") + field(INPA, "SR03A-VA-RGA-02:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03A-VA-RGA-02:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M2.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M4.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M14.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M15.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M16.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M18.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M28.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M32.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M40.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M44.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-RGA-02:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-RGA-02:BAR:M69.ADEL") + field(INPA, "SR03A-VA-RGA-02:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03A-VA-RGA-02:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS50") + field(FLNK, "SR03A-VA-RGA-02:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03A-VA-RGA-02:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS20") + field(FLNK, "SR03A-VA-RGA-02:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS100") + field(FLNK, "SR03A-VA-RGA-02:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03A-VA-RGA-02:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(3,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03A-VA-RGA-02:DIS200") + field(FLNK, "SR03A-VA-RGA-02:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03A-VA-RGA-02:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03A-VA-RGA-02:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03A-VA-RGA-02:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03A-VA-RGA-02:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-RGA-02:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03A-VA-RGA-02:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03A-VA-RGA-02:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03A-VA-RGA-02:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03A-VA-RGA-02:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03A-VA-RGA-02:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(3) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03A-VA-RGA-02:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=FE03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=FE03I-VA-RGA-01, desc=FE03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=FE03I-VA-RGA-01, desc=FE03I-VA-RGA-01, name= +# % gui, , readback, Status, FE03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "FE03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "FE03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "FE03I-VA-RGA-01:HEADSTA PP") + field(INPB, "FE03I-VA-RGA-01:FILSTA PP") + field(INPC, "FE03I-VA-RGA-01:SEV MS") +} +record(calc, "FE03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "FE03I-VA-RGA-01:SEV.VAL") + field(INPB, "FE03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "FE03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(4) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "FE03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "FE03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(4) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "FE03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "FE03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(FLNK, "FE03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:SEL") + field(FLNK, "FE03I-VA-RGA-01:DISPJ1") +} +record(calc, "FE03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ2") +} +record(calc, "FE03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ3") +} +record(calc, "FE03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ4") +} +record(calc, "FE03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ5") +} +record(calc, "FE03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ6") +} +record(calc, "FE03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ7") +} +record(calc, "FE03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ8") +} +record(calc, "FE03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ9") +} +record(calc, "FE03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ10") +} +record(calc, "FE03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ11") +} +record(calc, "FE03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "FE03I-VA-RGA-01:DISPJ12") +} +record(calc, "FE03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "FE03I-VA-RGA-01:STA") + field(INPB, "FE03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"FE03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "FE03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(4) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "FE03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(4) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "FE03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(4) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "FE03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "FE03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"FE03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "FE03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(4) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"FE03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "FE03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(4) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"FE03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "FE03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(4) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "FE03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "FE03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "FE03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(longin, "FE03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "FE03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "FE03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(stringin, "FE03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +#record(stringin, "FE03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(4) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "FE03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "FE03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(4) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "FE03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "FE03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "FE03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "FE03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "FE03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "FE03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "FE03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "FE03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "FE03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "FE03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "FE03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "FE03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "FE03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS50") + field(FLNK, "FE03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "FE03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS20") + field(FLNK, "FE03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS100") + field(FLNK, "FE03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "FE03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(4,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "FE03I-VA-RGA-01:DIS200") + field(FLNK, "FE03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "FE03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "FE03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "FE03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "FE03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "FE03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "FE03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "FE03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "FE03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "FE03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "FE03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(4) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "FE03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=BL03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=BL03I-VA-RGA-01, desc=BL03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=BL03I-VA-RGA-01, desc=BL03I-VA-RGA-01, name= +# % gui, , readback, Status, BL03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "BL03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "BL03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "BL03I-VA-RGA-01:HEADSTA PP") + field(INPB, "BL03I-VA-RGA-01:FILSTA PP") + field(INPC, "BL03I-VA-RGA-01:SEV MS") +} +record(calc, "BL03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "BL03I-VA-RGA-01:SEV.VAL") + field(INPB, "BL03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "BL03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(5) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "BL03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "BL03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(5) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "BL03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "BL03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(FLNK, "BL03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:SEL") + field(FLNK, "BL03I-VA-RGA-01:DISPJ1") +} +record(calc, "BL03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ2") +} +record(calc, "BL03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ3") +} +record(calc, "BL03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ4") +} +record(calc, "BL03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ5") +} +record(calc, "BL03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ6") +} +record(calc, "BL03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ7") +} +record(calc, "BL03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ8") +} +record(calc, "BL03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ9") +} +record(calc, "BL03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ10") +} +record(calc, "BL03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ11") +} +record(calc, "BL03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "BL03I-VA-RGA-01:DISPJ12") +} +record(calc, "BL03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "BL03I-VA-RGA-01:STA") + field(INPB, "BL03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"BL03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "BL03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(5) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "BL03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(5) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "BL03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(5) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "BL03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "BL03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"BL03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "BL03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(5) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"BL03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "BL03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(5) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"BL03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "BL03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(5) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "BL03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "BL03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "BL03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(longin, "BL03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "BL03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "BL03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(stringin, "BL03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +#record(stringin, "BL03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(5) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "BL03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "BL03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(5) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "BL03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "BL03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "BL03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "BL03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "BL03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "BL03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "BL03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "BL03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "BL03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "BL03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "BL03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "BL03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "BL03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS50") + field(FLNK, "BL03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "BL03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS20") + field(FLNK, "BL03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS100") + field(FLNK, "BL03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "BL03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(5,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "BL03I-VA-RGA-01:DIS200") + field(FLNK, "BL03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "BL03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "BL03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "BL03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "BL03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "BL03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "BL03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "BL03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "BL03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "BL03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "BL03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(5) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "BL03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# rga.db +# Template database for an RGA +# Pete Owens - 24-6-04 +# +# It appears that any mass to be displayed on the summary rga.edl +# has its SDIS field set to DIS20 +# IJG 11-5-11 +# +# Macros: +#% macro, device, Device Prefix +#% macro, port, Asyn Serial Port e.g. ty_40_0 +#% macro, channel, RGA channel number (port number of PC comm port 1-4) +#% macro, name, Object and gui association name +#% macro, mm00_label, Optional +#% macro, mm01_label, Optional +#% macro, mm02_label, Optional +#% macro, mm03_label, Optional +#% macro, mm04_label, Optional +#% macro, mm05_label, Optional +#% macro, mm06_label, Optional +#% macro, mm07_label, Optional +#% macro, mm08_label, Optional +#% macro, mm09_label, Optional +#% macro, mm10_label, Optional +#% macro, mm11_label, Optional +#% macro, mm12_label, Optional +#% macro, mm13_label, Optional +#% macro, mm14_label, Optional +#% macro, mm015_label, Optional +#% macro, mm00_mass, Optional +#% macro, mm01_mass, Optional +#% macro, mm02_mass, Optional +#% macro, mm03_mass, Optional +#% macro, mm04_mass, Optional +#% macro, mm05_mass, Optional +#% macro, mm06_mass, Optional +#% macro, mm07_mass, Optional +#% macro, mm08_mass, Optional +#% macro, mm09_mass, Optional +#% macro, mm10_mass, Optional +#% macro, mm11_mass, Optional +#% macro, mm12_mass, Optional +#% macro, mm13_mass, Optional +#% macro, mm14_mass, Optional +#% macro, mm15_mass, Optional +#% macro, pjmm00_label, Optional +#% macro, pjmm01_label, Optional +#% macro, pjmm02_label, Optional +#% macro, pjmm03_label, Optional +#% macro, pjmm04_label, Optional +#% macro, pjmm05_label, Optional +#% macro, pjmm06_label, Optional +#% macro, pjmm07_label, Optional +#% macro, pjmm08_label, Optional +#% macro, pjmm09_label, Optional +#% macro, pjmm10_label, Optional +#% macro, pjmm11_label, Optional +#% macro, pjmm12_label, Optional +#% macro, pjmm13_label, Optional +#% macro, pjmm14_label, Optional +#% macro, pjmm015_label, Optional +#% macro, pjmm00_mass, Optional +#% macro, pjmm01_mass, Optional +#% macro, pjmm02_mass, Optional +#% macro, pjmm03_mass, Optional +#% macro, pjmm04_mass, Optional +#% macro, pjmm05_mass, Optional +#% macro, pjmm06_mass, Optional +#% macro, pjmm07_mass, Optional +#% macro, pjmm08_mass, Optional +#% macro, pjmm09_mass, Optional +#% macro, pjmm10_mass, Optional +#% macro, pjmm11_mass, Optional +#% macro, pjmm12_mass, Optional +#% macro, pjmm13_mass, Optional +#% macro, pjmm14_mass, Optional +#% macro, pjmm15_mass, Optional + +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, rga.edl, device=SR03I-VA-RGA-01 +# This associates a BOY screen with the template +# % gui, , boycomponent, rgaApp_opi/rga.opi, device=SR03I-VA-RGA-01, desc=SR03I-VA-RGA-01, name= +# % gui, , boyembed, rgaApp_opi/rga_embed.opi, device=SR03I-VA-RGA-01, desc=SR03I-VA-RGA-01, name= +# % gui, , readback, Status, SR03I-VA-RGA-01:STA + +# Head Connected +# +# +#% archiver 10 Monitor +# +record(stringin, "SR03I-VA-RGA-01:HEAD") +{ + field(DESC, "Head") + field(DTYP, "stream") + field(INP, "@rga.protocol head(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03I-VA-RGA-01:STA") +{ + field(DESC, "Overall status") + field(CALC, "((A>4)&&(A<=7)&&(B#1))?0:A") + field(SCAN, "1 second") + field(INPA, "SR03I-VA-RGA-01:HEADSTA PP") + field(INPB, "SR03I-VA-RGA-01:FILSTA PP") + field(INPC, "SR03I-VA-RGA-01:SEV MS") +} +record(calc, "SR03I-VA-RGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03I-VA-RGA-01:SEV.VAL") + field(INPB, "SR03I-VA-RGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +# +#% archiver 10 Monitor +#% controldesk Head Status smon +# +record(mbbi, "SR03I-VA-RGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(INP, "@rga.protocol sta(6) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(FLNK, "SR03I-VA-RGA-01:DIS200") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(TEST, "Peak Jump") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") + field(TESV, "NO_ALARM") +} +# +#% archiver 10 Monitor +#% controldesk Head Status scon +# +record(mbbo, "SR03I-VA-RGA-01:CON") +{ + field(DESC, "Head Status") + field(DTYP, "stream") + field(OUT, "@rga.protocol con(6) RGA_PC_01_PORT 0") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(TEVL, "10") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") + field(TEST, "Peak Jump") +} +################################################################################ +# Disable Barcharts +# +#% archiver 10 Monitor +# +record(bo, "SR03I-VA-RGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03I-VA-RGA-01:DIS200") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(CALC, "(A=7)&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS100") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(CALC, "((A=6)||(A=7))&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS50") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(CALC, "(A>=5)&&(A<=7)&&(B=1)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DIS20") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(CALC, "(A>=5)&&(A<=7)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(FLNK, "SR03I-VA-RGA-01:DISPJ") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:DISPJ") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:SEL") + field(FLNK, "SR03I-VA-RGA-01:DISPJ1") +} +record(calc, "SR03I-VA-RGA-01:DISPJ1") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN1.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ2") +} +record(calc, "SR03I-VA-RGA-01:DISPJ2") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN2.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ3") +} +record(calc, "SR03I-VA-RGA-01:DISPJ3") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN3.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ4") +} +record(calc, "SR03I-VA-RGA-01:DISPJ4") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN4.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ5") +} +record(calc, "SR03I-VA-RGA-01:DISPJ5") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN5.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ6") +} +record(calc, "SR03I-VA-RGA-01:DISPJ6") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN6.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ7") +} +record(calc, "SR03I-VA-RGA-01:DISPJ7") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN7.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ8") +} +record(calc, "SR03I-VA-RGA-01:DISPJ8") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN8.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ9") +} +record(calc, "SR03I-VA-RGA-01:DISPJ9") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN9.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ10") +} +record(calc, "SR03I-VA-RGA-01:DISPJ10") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN10.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ11") +} +record(calc, "SR03I-VA-RGA-01:DISPJ11") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN11.DESC") + field(FLNK, "SR03I-VA-RGA-01:DISPJ12") +} +record(calc, "SR03I-VA-RGA-01:DISPJ12") +{ + field(DESC, "Disable Peak Jump") + field(CALC, "(A=10)&&(B>0)?0:1") + field(INPA, "SR03I-VA-RGA-01:STA") + field(INPB, "SR03I-VA-RGA-01:PJ:BIN12.DESC") +} +################################################################################ +# Current Selected Filament +# +# +#% archiver 10 Monitor +#% controldesk Filament smon +# +record(bi,"SR03I-VA-RGA-01:FIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(INP, "@rga.protocol fil(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +# +#% archiver 10 Monitor +#% controldesk Filament scon +# +record(bo, "SR03I-VA-RGA-01:SETFIL") +{ + field(DESC, "Filament") + field(DTYP, "stream") + field(OUT, "@rga.protocol setfil(6) RGA_PC_01_PORT 0") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +################################################################################ +# Filament Status +# +# +#% archiver 10 Monitor +#% controldesk Filament Status smon +# +record(mbbi, "SR03I-VA-RGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(DTYP, "stream") + field(INP, "@rga.protocol filsta(6) RGA_PC_01_PORT 0") +# field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +# +#% archiver 10 Monitor +#% controldesk Filament Status scon +# +record(bo, "SR03I-VA-RGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(DTYP, "stream") + field(OUT, "@rga.protocol filcon(6) RGA_PC_01_PORT 0") + field(ZNAM, "Off") + field(ONAM, "On") +} +################################################################################ +# IMG Interlock Status +# +#% archiver 10 Monitor +#% controldesk IMG Interlock smon +# +record(bi, "SR03I-VA-RGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(DTYP, "stream") + field(INP, "@rga.protocol ilk(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(SDIS, "SR03I-VA-RGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +################################################################################ +# Multiplier Status +# +#% archiver 10 Monitor +#% controldesk Multiplier smon +# +record(bi,"SR03I-VA-RGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(INP, "@rga.protocol mltsta(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +# +#% archiver 10 Monitor +#% controldesk Multiplier scon +# +record(bo, "SR03I-VA-RGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(DTYP, "stream") + field(OUT, "@rga.protocol mltcon(6) RGA_PC_01_PORT 0") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +################################################################################ +# Scan Mode Status +# +#% archiver 10 Monitor +#% controldesk Scan Mode smon +# +record(bi,"SR03I-VA-RGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol scan(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +# +#% archiver 10 Monitor +#% controldesk Scan Mode scon +# +record(bo, "SR03I-VA-RGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setscan(6) RGA_PC_01_PORT 0") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +################################################################################ +# Control Mode Status +# +#% archiver 10 Monitor +# +record(bi,"SR03I-VA-RGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(INP, "@rga.protocol mode(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +# +#% archiver 10 Monitor +# +record(bo, "SR03I-VA-RGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(DTYP, "stream") + field(OUT, "@rga.protocol setmode(6) RGA_PC_01_PORT 0") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +################################################################################ +# Are there data to read +# +#% archiver 10 Monitor +#% controldesk Data to read smon +# +record(mbbi, "SR03I-VA-RGA-01:DATA") +{ + field(DESC, "Data to read") + field(DTYP, "stream") + field(INP, "@rga.protocol data(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(FVST, "Peak Jump") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "NO_ALARM") +} +################################################################################ +# Date of current scan +# +#% archiver 10 Monitor +#% controldesk Date readback +# +record(stringin, "SR03I-VA-RGA-01:DATE") +{ + field(DESC, "Date") + field(DTYP, "stream") + field(INP, "@rga.protocol date(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") +} +### +### THESE RECORDS REMOVED TO SAVE RS232 BANDWIDTH +### When we move to 3.14 we can use sCalcout +### +#record(stringin, "SR03I-VA-RGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(DTYP, "stream") +# field(INP, "@rga.protocol year(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(longin, "SR03I-VA-RGA-01:MON") +#{ +# field(DESC, "Month") +# field(DTYP, "stream") +# field(INP, "@rga.protocol mon(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03I-VA-RGA-01:DAY") +#{ +# field(DESC, "Day") +# field(DTYP, "stream") +# field(INP, "@rga.protocol day(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03I-VA-RGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(DTYP, "stream") +# field(INP, "@rga.protocol hour(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03I-VA-RGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(DTYP, "stream") +# field(INP, "@rga.protocol min(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +#record(stringin, "SR03I-VA-RGA-01:SEC") +#{ +# field(DESC, "Second") +# field(DTYP, "stream") +# field(INP, "@rga.protocol sec(6) RGA_PC_01_PORT 0") +# field(SCAN, "10 second") +# field(SDIS, "SR03I-VA-RGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% archiver 10 Monitor +#% controldesk Detector Setting smon +# +record(mbbi, "SR03I-VA-RGA-01:DET") +{ + field(DESC, "Detector Setting") + field(DTYP, "stream") + field(INP, "@rga.protocol det(6) RGA_PC_01_PORT 0") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +################################################################################ +# Total Pressure +# +#% archiver 10 Monitor +#% controldesk Total Pressure readback +# +record(ai, "SR03I-VA-RGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(DTYP, "stream") + field(INP, "@rga.protocol total(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03I-VA-RGA-01:TOTPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03I-VA-RGA-01:TOTPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:TOTP.ADEL") + field(INPA, "SR03I-VA-RGA-01:TOTP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:TOTP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% archiver 10 Monitor +#% controldesk Sum of Peaks readback +# +record(ai, "SR03I-VA-RGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(DTYP, "stream") + field(INP, "@rga.protocol sum(6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(FLNK, "SR03I-VA-RGA-01:SUMPLOG") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calcout, "SR03I-VA-RGA-01:SUMPADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:SUMP.ADEL") + field(INPA, "SR03I-VA-RGA-01:SUMP") + field(INPB, "20") + field(SCAN, "10 second") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:SUMP MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart Deadband +# +record(calcout, "SR03I-VA-RGA-01:ADEL:M2") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M2.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M2") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M4") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M4.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M4") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M14") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M14.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M14") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M15") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M15.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M15") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M16") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M16.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M16") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M18") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M18.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M18") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M28") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M28.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M28") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M32") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M32.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M32") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M40") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M40.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M40") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M44") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M44.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M44") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03I-VA-RGA-01:ADEL:M69") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03I-VA-RGA-01:BAR:M69.ADEL") + field(INPA, "SR03I-VA-RGA-01:BAR:M69") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Bar Chart +# +record(ai, "SR03I-VA-RGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,1) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M2") +{ + field(DESC, "H2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,2) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,3) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk He readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M4") +{ + field(DESC, "He") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,4) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M5") +{ + field(DESC, "Mass 5") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,5) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M6") +{ + field(DESC, "Mass 6") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,6) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M7") +{ + field(DESC, "Mass 7") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,7) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M8") +{ + field(DESC, "Mass 8") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,8) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M9") +{ + field(DESC, "Mass 9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,9) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M10") +{ + field(DESC, "Mass 10") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,10) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M11") +{ + field(DESC, "Mass 11") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,11) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M12") +{ + field(DESC, "Mass 12") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,12) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M13") +{ + field(DESC, "Mass 13") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,13) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M13") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH2/N2++ readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,14) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M14") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH3 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,15) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M15") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CH4 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,16) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M16") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk OH readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M17") +{ + field(DESC, "OH") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,17) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M17") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk H20 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M18") +{ + field(DESC, "H20") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,18) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M18") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M19") +{ + field(DESC, "Mass 19") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,19) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M19") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M20") +{ + field(DESC, "Neon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,20) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M21") +{ + field(DESC, "Mass 21") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,21) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M21") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M22") +{ + field(DESC, "Mass 22") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,22) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M22") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M23") +{ + field(DESC, "Mass 23") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,23) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M23") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M24") +{ + field(DESC, "Mass 24") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,24) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M24") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M25") +{ + field(DESC, "Mass 25") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,25) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M25") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M26") +{ + field(DESC, "Mass 26") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,26) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M26") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M27") +{ + field(DESC, "Mass 27") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,27) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M27") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk N2/CO readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,28) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M28") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M29") +{ + field(DESC, "Mass 29") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,29) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M29") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M30") +{ + field(DESC, "NO") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,30) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M30") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M31") +{ + field(DESC, "Mass 31") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,31) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M31") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk O2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M32") +{ + field(DESC, "O2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,32) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M32") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M33") +{ + field(DESC, "Mass 33") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,33) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M33") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M34") +{ + field(DESC, "Mass 34") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,34) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M34") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M35") +{ + field(DESC, "Mass 35") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,35) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M35") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M36") +{ + field(DESC, "Mass 36") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,36) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M36") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M37") +{ + field(DESC, "Mass 37") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,37) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M37") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M38") +{ + field(DESC, "Fluorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,38) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M38") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M39") +{ + field(DESC, "Mass 39") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,39) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M39") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,40) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M40") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M41") +{ + field(DESC, "Mass 41") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,41) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M41") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M42") +{ + field(DESC, "Mass 42") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,42) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M42") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M43") +{ + field(DESC, "Mass 43") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,43) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M43") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk CO2 readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,44) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M44") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M45") +{ + field(DESC, "Mass 45") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,45) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M45") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M46") +{ + field(DESC, "NO2") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,46) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M46") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M47") +{ + field(DESC, "Mass 47") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,47) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M47") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M48") +{ + field(DESC, "Ozone") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,48) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M48") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M49") +{ + field(DESC, "Mass 49") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,49) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M49") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M50") +{ + field(DESC, "Mass 50") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,50) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS50") + field(FLNK, "SR03I-VA-RGA-01:LOG:M50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M51") +{ + field(DESC, "Mass 51") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,51) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M51") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M52") +{ + field(DESC, "Mass 52") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,52) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M52") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M53") +{ + field(DESC, "Mass 53") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,53) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M53") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M54") +{ + field(DESC, "Mass 54") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,54) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M54") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M55") +{ + field(DESC, "Mass 55") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,55) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M55") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M56") +{ + field(DESC, "Mass 56") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,56) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M56") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M57") +{ + field(DESC, "Mass 57") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,57) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M57") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M58") +{ + field(DESC, "Mass 58") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,58) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M58") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M59") +{ + field(DESC, "Mass 59") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,59) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M59") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M60") +{ + field(DESC, "Buckyball") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,60) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M60") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M61") +{ + field(DESC, "Mass 61") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,61) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M61") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M62") +{ + field(DESC, "Mass 62") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,62) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M62") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M63") +{ + field(DESC, "Mass 63") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,63) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M63") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M64") +{ + field(DESC, "Mass 64") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,64) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M64") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M65") +{ + field(DESC, "Mass 65") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,65) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M65") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M66") +{ + field(DESC, "Mass 66") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,66) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M66") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M67") +{ + field(DESC, "Mass 67") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,67) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M67") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M68") +{ + field(DESC, "Mass 68") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,68) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M68") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +# +#% archiver 10 Monitor +#% controldesk Ar readback +# +record(ai, "SR03I-VA-RGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,69) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS20") + field(FLNK, "SR03I-VA-RGA-01:LOG:M69") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M70") +{ + field(DESC, "Chlorine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,70) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M70") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M71") +{ + field(DESC, "Mass 71") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,71) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M71") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M72") +{ + field(DESC, "Mass 72") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,72) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M72") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M73") +{ + field(DESC, "Mass 73") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,73) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M73") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M74") +{ + field(DESC, "Mass 74") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,74) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M74") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M75") +{ + field(DESC, "Mass 75") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,75) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M75") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M76") +{ + field(DESC, "Mass 76") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,76) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M76") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M77") +{ + field(DESC, "Mass 77") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,77) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M77") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M78") +{ + field(DESC, "Mass 78") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,78) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M78") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M79") +{ + field(DESC, "Mass 79") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,79) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M79") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M80") +{ + field(DESC, "Mass 80") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,80) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M80") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M81") +{ + field(DESC, "Mass 81") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,81) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M81") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M82") +{ + field(DESC, "Mass 82") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,82) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M82") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M83") +{ + field(DESC, "Mass 83") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,83) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M83") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M84") +{ + field(DESC, "Krypton") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,84) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M84") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M85") +{ + field(DESC, "Mass 85") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,85) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M85") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M86") +{ + field(DESC, "Mass 86") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,86) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M86") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M87") +{ + field(DESC, "Mass 87") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,87) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M87") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M88") +{ + field(DESC, "Mass 88") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,88) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M88") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M89") +{ + field(DESC, "Mass 89") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,89) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M89") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M90") +{ + field(DESC, "Mass 90") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,90) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M90") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M91") +{ + field(DESC, "Mass 91") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,91) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M91") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M92") +{ + field(DESC, "Mass 92") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,92) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M92") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M93") +{ + field(DESC, "Mass 93") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,93) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M93") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M94") +{ + field(DESC, "Mass 94") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,94) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M94") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M95") +{ + field(DESC, "Mass 95") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,95) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M95") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M96") +{ + field(DESC, "Mass 96") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,96) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M96") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M97") +{ + field(DESC, "Mass 97") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,97) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M97") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M98") +{ + field(DESC, "Mass 98") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,98) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M98") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M99") +{ + field(DESC, "Mass 99") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,99) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M99") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M100") +{ + field(DESC, "Mass 100") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,100) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS100") + field(FLNK, "SR03I-VA-RGA-01:LOG:M100") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M101") +{ + field(DESC, "Mass 101") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,101) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M101") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M102") +{ + field(DESC, "Mass 102") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,102) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M102") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M103") +{ + field(DESC, "Mass 103") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,103) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M103") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M104") +{ + field(DESC, "Mass 104") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,104) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M104") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M105") +{ + field(DESC, "Mass 105") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,105) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M105") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M106") +{ + field(DESC, "Mass 106") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,106) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M106") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M107") +{ + field(DESC, "Mass 107") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,107) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M107") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M108") +{ + field(DESC, "Mass 108") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,108) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M108") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M109") +{ + field(DESC, "Mass 109") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,109) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M109") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M110") +{ + field(DESC, "Mass 110") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,110) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M110") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M111") +{ + field(DESC, "Mass 111") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,111) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M111") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M112") +{ + field(DESC, "Mass 112") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,112) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M112") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M113") +{ + field(DESC, "Mass 113") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,113) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M113") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M114") +{ + field(DESC, "Mass 114") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,114) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M114") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M115") +{ + field(DESC, "Mass 115") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,115) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M115") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M116") +{ + field(DESC, "Mass 116") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,116) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M116") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M117") +{ + field(DESC, "Mass 117") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,117) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M117") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M118") +{ + field(DESC, "Mass 118") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,118) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M118") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M119") +{ + field(DESC, "Mass 119") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,119) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M119") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M120") +{ + field(DESC, "Mass 120") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,120) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M120") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M121") +{ + field(DESC, "Mass 121") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,121) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M121") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M122") +{ + field(DESC, "Mass 122") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,122) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M122") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M123") +{ + field(DESC, "Mass 123") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,123) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M123") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M124") +{ + field(DESC, "Mass 124") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,124) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M124") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M125") +{ + field(DESC, "Mass 125") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,125) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M125") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M126") +{ + field(DESC, "Mass 126") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,126) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M126") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M127") +{ + field(DESC, "Mass 127") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,127) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M127") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M128") +{ + field(DESC, "Mass 128") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,128) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M128") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M129") +{ + field(DESC, "Mass 129") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,129) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M129") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M130") +{ + field(DESC, "Mass 130") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,130) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M130") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M131") +{ + field(DESC, "Xenon") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,131) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M131") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M132") +{ + field(DESC, "Mass 132") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,132) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M132") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M133") +{ + field(DESC, "Mass 133") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,133) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M133") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M134") +{ + field(DESC, "Mass 134") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,134) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M134") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M135") +{ + field(DESC, "Mass 135") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,135) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M135") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M136") +{ + field(DESC, "Mass 136") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,136) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M136") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M137") +{ + field(DESC, "Mass 137") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,137) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M137") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M138") +{ + field(DESC, "Mass 138") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,138) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M138") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M139") +{ + field(DESC, "Mass 139") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,139) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M139") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M140") +{ + field(DESC, "Mass 140") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,140) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M140") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M141") +{ + field(DESC, "Mass 141") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,141) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M141") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M142") +{ + field(DESC, "Mass 142") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,142) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M142") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M143") +{ + field(DESC, "Mass 143") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,143) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M143") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M144") +{ + field(DESC, "Mass 144") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,144) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M144") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M145") +{ + field(DESC, "Mass 145") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,145) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M145") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M146") +{ + field(DESC, "Mass 146") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,146) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M146") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M147") +{ + field(DESC, "Mass 147") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,147) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M147") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M148") +{ + field(DESC, "Mass 148") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,148) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M148") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M149") +{ + field(DESC, "Mass 149") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,149) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M149") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M150") +{ + field(DESC, "Mass 150") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,150) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M150") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M151") +{ + field(DESC, "Mass 151") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,151) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M151") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M152") +{ + field(DESC, "Mass 152") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,152) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M152") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M153") +{ + field(DESC, "Mass 153") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,153) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M153") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M154") +{ + field(DESC, "Mass 154") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,154) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M154") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M155") +{ + field(DESC, "Mass 155") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,155) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M155") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M156") +{ + field(DESC, "Mass 156") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,156) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M156") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M157") +{ + field(DESC, "Mass 157") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,157) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M157") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M158") +{ + field(DESC, "Mass 158") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,158) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M158") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M159") +{ + field(DESC, "Mass 159") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,159) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M159") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M160") +{ + field(DESC, "Bromine") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,160) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M160") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M161") +{ + field(DESC, "Mass 161") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,161) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M161") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M162") +{ + field(DESC, "Mass 162") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,162) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M162") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M163") +{ + field(DESC, "Mass 163") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,163) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M163") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M164") +{ + field(DESC, "Mass 164") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,164) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M164") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M165") +{ + field(DESC, "Mass 165") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,165) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M165") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M166") +{ + field(DESC, "Mass 166") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,166) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M166") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M167") +{ + field(DESC, "Mass 167") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,167) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M167") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M168") +{ + field(DESC, "Mass 168") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,168) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M168") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M169") +{ + field(DESC, "Mass 169") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,169) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M169") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M170") +{ + field(DESC, "Mass 170") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,170) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M170") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M171") +{ + field(DESC, "Mass 171") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,171) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M171") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M172") +{ + field(DESC, "Mass 172") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,172) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M172") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M173") +{ + field(DESC, "Mass 173") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,173) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M173") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M174") +{ + field(DESC, "Mass 174") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,174) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M174") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M175") +{ + field(DESC, "Mass 175") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,175) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M175") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M176") +{ + field(DESC, "Mass 176") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,176) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M176") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M177") +{ + field(DESC, "Mass 177") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,177) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M177") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M178") +{ + field(DESC, "Mass 178") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,178) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M178") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M179") +{ + field(DESC, "Mass 179") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,179) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M179") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M180") +{ + field(DESC, "Mass 180") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,180) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M180") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M181") +{ + field(DESC, "Mass 181") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,181) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M181") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M182") +{ + field(DESC, "Mass 182") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,182) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M182") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M183") +{ + field(DESC, "Mass 183") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,183) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M183") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M184") +{ + field(DESC, "Mass 184") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,184) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M184") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M185") +{ + field(DESC, "Mass 185") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,185) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M185") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M186") +{ + field(DESC, "Mass 186") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,186) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M186") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M187") +{ + field(DESC, "Mass 187") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,187) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M187") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M188") +{ + field(DESC, "Mass 188") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,188) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M188") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M189") +{ + field(DESC, "Mass 189") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,189) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M189") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M190") +{ + field(DESC, "Mass 190") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,190) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M190") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M191") +{ + field(DESC, "Mass 191") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,191) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M191") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M192") +{ + field(DESC, "Mass 192") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,192) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M192") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M193") +{ + field(DESC, "Mass 193") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,193) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M193") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M194") +{ + field(DESC, "Mass 194") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,194) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M194") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M195") +{ + field(DESC, "Mass 195") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,195) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M195") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M196") +{ + field(DESC, "Mass 196") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,196) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M196") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M197") +{ + field(DESC, "Mass 197") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,197) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M197") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M198") +{ + field(DESC, "Mass 198") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,198) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M198") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M199") +{ + field(DESC, "Mass 199") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,199) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M199") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(ai, "SR03I-VA-RGA-01:BAR:M200") +{ + field(DESC, "Mass 200") + field(DTYP, "stream") + field(INP, "@rga.protocol bar(6,200) RGA_PC_01_PORT 0") + field(SCAN, "10 second") + field(SDIS, "SR03I-VA-RGA-01:DIS200") + field(FLNK, "SR03I-VA-RGA-01:LOG:M200") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03I-VA-RGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M1 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M2 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M3 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M4 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M5") +{ + field(DESC, "Mass 5") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M5 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M6") +{ + field(DESC, "Mass 6") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M6 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M7") +{ + field(DESC, "Mass 7") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M7 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M8") +{ + field(DESC, "Mass 8") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M8 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M9") +{ + field(DESC, "Mass 9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M9 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M10") +{ + field(DESC, "Mass 10") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M10 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M11") +{ + field(DESC, "Mass 11") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M11 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M12") +{ + field(DESC, "Mass 12") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M12 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M13") +{ + field(DESC, "Mass 13") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M13 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M14 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M15 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M16 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M17") +{ + field(DESC, "OH") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M17 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M18 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M19") +{ + field(DESC, "Mass 19") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M19 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M20") +{ + field(DESC, "Neon") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M20 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M21") +{ + field(DESC, "Mass 21") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M21 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M22") +{ + field(DESC, "Mass 22") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M22 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M23") +{ + field(DESC, "Mass 23") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M23 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M24") +{ + field(DESC, "Mass 24") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M24 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M25") +{ + field(DESC, "Mass 25") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M25 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M26") +{ + field(DESC, "Mass 26") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M26 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M27") +{ + field(DESC, "Mass 27") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M27 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M28 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M29") +{ + field(DESC, "Mass 29") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M29 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M30") +{ + field(DESC, "NO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M30 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M31") +{ + field(DESC, "Mass 31") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M31 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M32 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M33") +{ + field(DESC, "Mass 33") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M33 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M34") +{ + field(DESC, "Mass 34") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M34 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M35") +{ + field(DESC, "Mass 35") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M35 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M36") +{ + field(DESC, "Mass 36") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M36 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M37") +{ + field(DESC, "Mass 37") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M37 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M38") +{ + field(DESC, "Fluorine") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M38 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M39") +{ + field(DESC, "Mass 39") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M39 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M40 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M41") +{ + field(DESC, "Mass 41") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M41 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M42") +{ + field(DESC, "Mass 42") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M42 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M43") +{ + field(DESC, "Mass 43") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M43 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M44 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M45") +{ + field(DESC, "Mass 45") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M45 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M46") +{ + field(DESC, "NO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M46 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M47") +{ + field(DESC, "Mass 47") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M47 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M48") +{ + field(DESC, "Ozone") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M48 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M49") +{ + field(DESC, "Mass 49") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M49 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M50") +{ + field(DESC, "Mass 50") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M50 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M51") +{ + field(DESC, "Mass 51") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M51 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M52") +{ + field(DESC, "Mass 52") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M52 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M53") +{ + field(DESC, "Mass 53") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M53 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M54") +{ + field(DESC, "Mass 54") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M54 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M55") +{ + field(DESC, "Mass 55") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M55 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M56") +{ + field(DESC, "Mass 56") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M56 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M57") +{ + field(DESC, "Mass 57") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M57 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M58") +{ + field(DESC, "Mass 58") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M58 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M59") +{ + field(DESC, "Mass 59") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M59 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M60") +{ + field(DESC, "Buckyball") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M60 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M61") +{ + field(DESC, "Mass 61") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M61 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M62") +{ + field(DESC, "Mass 62") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M62 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M63") +{ + field(DESC, "Mass 63") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M63 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M64") +{ + field(DESC, "Mass 64") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M64 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M65") +{ + field(DESC, "Mass 65") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M65 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M66") +{ + field(DESC, "Mass 66") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M66 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M67") +{ + field(DESC, "Mass 67") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M67 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M68") +{ + field(DESC, "Mass 68") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M68 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 10 Monitor +# +record(calc, "SR03I-VA-RGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M69 MS") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +record(calc, "SR03I-VA-RGA-01:LOG:M70") +{ + field(DESC, "Mass 70") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M70 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M71") +{ + field(DESC, "Mass 71") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M71 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M72") +{ + field(DESC, "Mass 72") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M72 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M73") +{ + field(DESC, "Mass 73") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M73 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M74") +{ + field(DESC, "Mass 74") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M74 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M75") +{ + field(DESC, "Mass 75") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M75 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M76") +{ + field(DESC, "Mass 76") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M76 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M77") +{ + field(DESC, "Mass 77") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M77 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M78") +{ + field(DESC, "Mass 78") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M78 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M79") +{ + field(DESC, "Mass 79") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M79 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M80") +{ + field(DESC, "Mass 80") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M80 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M81") +{ + field(DESC, "Mass 81") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M81 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M82") +{ + field(DESC, "Mass 82") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M82 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M83") +{ + field(DESC, "Mass 83") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M83 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M84") +{ + field(DESC, "Mass 84") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M84 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M85") +{ + field(DESC, "Mass 85") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M85 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M86") +{ + field(DESC, "Mass 86") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M86 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M87") +{ + field(DESC, "Mass 87") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M87 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M88") +{ + field(DESC, "Mass 88") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M88 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M89") +{ + field(DESC, "Mass 89") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M89 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M90") +{ + field(DESC, "Mass 90") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M90 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M91") +{ + field(DESC, "Mass 91") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M91 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M92") +{ + field(DESC, "Mass 92") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M92 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M93") +{ + field(DESC, "Mass 93") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M93 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M94") +{ + field(DESC, "Mass 94") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M94 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M95") +{ + field(DESC, "Mass 95") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M95 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M96") +{ + field(DESC, "Mass 96") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M96 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M97") +{ + field(DESC, "Mass 97") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M97 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M98") +{ + field(DESC, "Mass 98") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M98 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M99") +{ + field(DESC, "Mass 99") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M99 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M100") +{ + field(DESC, "Mass 100") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M100 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M101") +{ + field(DESC, "Mass 101") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M101 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M102") +{ + field(DESC, "Mass 102") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M102 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M103") +{ + field(DESC, "Mass 103") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M103 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M104") +{ + field(DESC, "Mass 104") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M104 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M105") +{ + field(DESC, "Mass 105") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M105 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M106") +{ + field(DESC, "Mass 106") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M106 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M107") +{ + field(DESC, "Mass 107") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M107 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M108") +{ + field(DESC, "Mass 108") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M108 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M109") +{ + field(DESC, "Mass 109") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M109 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M110") +{ + field(DESC, "Mass 110") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M110 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M111") +{ + field(DESC, "Mass 111") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M111 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M112") +{ + field(DESC, "Mass 112") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M112 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M113") +{ + field(DESC, "Mass 113") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M113 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M114") +{ + field(DESC, "Mass 114") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M114 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M115") +{ + field(DESC, "Mass 115") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M115 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M116") +{ + field(DESC, "Mass 116") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M116 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M117") +{ + field(DESC, "Mass 117") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M117 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M118") +{ + field(DESC, "Mass 118") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M118 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M119") +{ + field(DESC, "Mass 119") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M119 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M120") +{ + field(DESC, "Mass 120") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M120 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M121") +{ + field(DESC, "Mass 121") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M121 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M122") +{ + field(DESC, "Mass 122") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M122 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M123") +{ + field(DESC, "Mass 123") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M123 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M124") +{ + field(DESC, "Mass 124") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M124 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M125") +{ + field(DESC, "Mass 125") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M125 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M126") +{ + field(DESC, "Mass 126") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M126 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M127") +{ + field(DESC, "Mass 127") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M127 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M128") +{ + field(DESC, "Mass 128") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M128 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M129") +{ + field(DESC, "Mass 129") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M129 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M130") +{ + field(DESC, "Mass 130") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M130 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M131") +{ + field(DESC, "Mass 131") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M131 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M132") +{ + field(DESC, "Mass 132") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M132 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M133") +{ + field(DESC, "Mass 133") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M133 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M134") +{ + field(DESC, "Mass 134") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M134 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M135") +{ + field(DESC, "Mass 135") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M135 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M136") +{ + field(DESC, "Mass 136") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M136 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M137") +{ + field(DESC, "Mass 137") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M137 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M138") +{ + field(DESC, "Mass 138") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M138 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M139") +{ + field(DESC, "Mass 139") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M139 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M140") +{ + field(DESC, "Mass 140") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M140 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M141") +{ + field(DESC, "Mass 141") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M141 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M142") +{ + field(DESC, "Mass 142") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M142 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M143") +{ + field(DESC, "Mass 143") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M143 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M144") +{ + field(DESC, "Mass 144") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M144 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M145") +{ + field(DESC, "Mass 145") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M145 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M146") +{ + field(DESC, "Mass 146") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M146 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M147") +{ + field(DESC, "Mass 147") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M147 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M148") +{ + field(DESC, "Mass 148") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M148 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M149") +{ + field(DESC, "Mass 149") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M149 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M150") +{ + field(DESC, "Mass 150") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M150 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M151") +{ + field(DESC, "Mass 151") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M151 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M152") +{ + field(DESC, "Mass 152") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M152 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M153") +{ + field(DESC, "Mass 153") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M153 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M154") +{ + field(DESC, "Mass 154") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M154 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M155") +{ + field(DESC, "Mass 155") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M155 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M156") +{ + field(DESC, "Mass 156") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M156 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M157") +{ + field(DESC, "Mass 157") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M157 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M158") +{ + field(DESC, "Mass 158") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M158 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M159") +{ + field(DESC, "Mass 159") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M159 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M160") +{ + field(DESC, "Mass 160") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M160 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M161") +{ + field(DESC, "Mass 161") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M161 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M162") +{ + field(DESC, "Mass 162") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M162 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M163") +{ + field(DESC, "Mass 163") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M163 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M164") +{ + field(DESC, "Mass 164") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M164 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M165") +{ + field(DESC, "Mass 165") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M165 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M166") +{ + field(DESC, "Mass 166") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M166 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M167") +{ + field(DESC, "Mass 167") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M167 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M168") +{ + field(DESC, "Mass 168") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M168 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M169") +{ + field(DESC, "Mass 169") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M169 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M170") +{ + field(DESC, "Mass 170") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M170 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M171") +{ + field(DESC, "Mass 171") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M171 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M172") +{ + field(DESC, "Mass 172") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M172 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M173") +{ + field(DESC, "Mass 173") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M173 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M174") +{ + field(DESC, "Mass 174") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M174 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M175") +{ + field(DESC, "Mass 175") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M175 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M176") +{ + field(DESC, "Mass 176") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M176 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M177") +{ + field(DESC, "Mass 177") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M177 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M178") +{ + field(DESC, "Mass 178") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M178 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M179") +{ + field(DESC, "Mass 179") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M179 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M180") +{ + field(DESC, "Mass 180") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M180 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M181") +{ + field(DESC, "Mass 181") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M181 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M182") +{ + field(DESC, "Mass 182") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M182 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M183") +{ + field(DESC, "Mass 183") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M183 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M184") +{ + field(DESC, "Mass 184") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M184 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M185") +{ + field(DESC, "Mass 185") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M185 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M186") +{ + field(DESC, "Mass 186") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M186 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M187") +{ + field(DESC, "Mass 187") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M187 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M188") +{ + field(DESC, "Mass 188") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M188 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M189") +{ + field(DESC, "Mass 189") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M189 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M190") +{ + field(DESC, "Mass 190") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M190 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M191") +{ + field(DESC, "Mass 191") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M191 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M192") +{ + field(DESC, "Mass 192") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M192 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M193") +{ + field(DESC, "Mass 193") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M193 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M194") +{ + field(DESC, "Mass 194") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M194 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M195") +{ + field(DESC, "Mass 195") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M195 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M196") +{ + field(DESC, "Mass 196") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M196 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M197") +{ + field(DESC, "Mass 197") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M197 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M198") +{ + field(DESC, "Mass 198") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M198 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M199") +{ + field(DESC, "Mass 199") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M199 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03I-VA-RGA-01:LOG:M200") +{ + field(DESC, "Mass 200") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03I-VA-RGA-01:BAR:M200 MS") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +# +# Standard bar chart masses (nominally up to 11) +record(mbbi, "SR03I-VA-RGA-01:MASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Chart mass allocation") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "He") + field(TWST, "CH2/N2++") + field(THST, "CH3") + field(FRST, "CH4") + field(FVST, "H2O") + field(SXST, "N2/CO") + field(SVST, "O2") + field(EIST, "Ar") + field(NIST, "CO2") + field(TEST, "CF3/C5H9") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "4") + field(TWVL, "14") + field(THVL, "15") + field(FRVL, "16") + field(FVVL, "18") + field(SXVL, "28") + field(SVVL, "32") + field(EIVL, "40") + field(NIVL, "44") + field(TEVL, "69") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +# Peak Jump Masses (nominally up to 12) +# +record(mbbi, "SR03I-VA-RGA-01:PJMASSMAP") +{ + field(DTYP, "Soft Channel") + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(ZRST, "H2") + field(ONST, "unused") + field(TWST, "unused") + field(THST, "unused") + field(FRST, "unused") + field(FVST, "unused") + field(SXST, "unused") + field(SVST, "unused") + field(EIST, "unused") + field(NIST, "unused") + field(TEST, "unused") + field(ELST, "unused") + field(TVST, "unused") + field(TTST, "unused") + field(FTST, "unused") + field(FFST, "unused") + field(ZRVL, "2") + field(ONVL, "0") + field(TWVL, "0") + field(THVL, "0") + field(FRVL, "0") + field(FVVL, "0") + field(SXVL, "0") + field(SVVL, "0") + field(EIVL, "0") + field(NIVL, "0") + field(TEVL, "0") + field(ELVL, "0") + field(TVVL, "0") + field(TTVL, "0") + field(FTVL, "0") + field(FFVL, "0") +} + +## The INP field to this PV has been "2;4" for +## over two years and just picked up on caSnooper. +## Making it 24 for now until the correct value is determined. +## IJG: 19 Dec 14 +## +record(stringin, "SR03I-VA-RGA-01:PJMASSSTR") +{ + field(DESC, "Peak Jump masses") + field(PINI, "YES") + field(INP, "24") +} + +record(waveform, "SR03I-VA-RGA-01:SPECTRUM") +{ + #field(DTYP, "Waveform") + field(FTVL, "DOUBLE") + field(NELM, "6400") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN1") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ1") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN2") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ2") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN3") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ3") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN4") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ4") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN5") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ5") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN6") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ6") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN7") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ7") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN8") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ8") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN9") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ9") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN10") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ10") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN11") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ11") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# +#% archiver 10 Monitor +# +record(ai, "SR03I-VA-RGA-01:PJ:BIN12") +{ + field(DESC, "0") + field(DTYP, "stream") + field(INP, "@rga.protocol pjpress_indirect(6) RGA_PC_01_PORT 0") + field(SCAN, "5 second") + field(SDIS, "SR03I-VA-RGA-01:DISPJ12") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} + +# space.template +#%, macro, __doc__, Template database for a vacuum space +# Consists of just 1 pump, 1 gauge and 1 valve (or more likely groups of these) +# Pete Owens - 10/6/05 +# +# substitutions: +#% macro, device, device name +#% macro, name, Object name and gui association name +#% macro, ionp, ion pump +#% macro, gauge, combination gauge +#% macro, img, IMG +#% macro, pirg, Pirani gauge +#% macro, valve, Vacuum valve +################################################################################ + +# This associates an edm screen with the template +# % gui, , edm, space.edl, device=SR03S-VA-SPACE-01 + +# This associates a BOY screen with the template +# % gui, , boydetail, vacuumSpaceApp_opi/space_detail.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= +# % gui, , boyembed, vacuumSpaceApp_opi/space_embed_box.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= +# % gui, , boyembed, vacuumSpaceApp_opi/space_embed.opi, device=SR03S-VA-SPACE-01, desc=SR03S-VA-SPACE-01, name= + +# Pressure (maximum value from all spaces) +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-SPACE-01:PLOG") +{ + field(DESC, "log Pressure") + field(SCAN, "1 second") + field(EGU, "log") + field(INP, "SR03S-VA-GGAUG-01:PLOG") + field(HOPR, "3") + field(LOPR, "-11") + field(HIGH, "-7") + field(HSV, "MINOR") + field(ADEL, "0.025") +} +# +#% archiver 10 +#% controldesk Pressure readback +# +record(ai, "SR03S-VA-SPACE-01:P") +{ + field(DESC, "Pressure") + field(SCAN, "1 second") + field(EGU, "mbar") + field(INP, "SR03S-VA-GGAUG-01:P") + field(HIGH, "1.0e-7") + field(HSV, "MINOR") +} +################################################################################ +# Status +# B0 Gauge not OK +# B1 Ion Pump not swiched on +# B2 Valve not open +# B3 Pressure +# +#% archiver 10 Monitor +#% controldesk Status smon +# +record(mbbiDirect,"SR03S-VA-SPACE-01:STA") +{ + field(DESC,"Status") + field(SCAN,"1 second") + field(INP, "SR03S-VA-SPACE-01:CALSTA PP MS") +} +record(calc, "SR03S-VA-SPACE-01:CALSTA") +{ + field(DESC, "Calculate Status") + field(CALC, "A|B|C|D") + field(INPA, "SR03S-VA-SPACE-01:IMGSTA PP MS") + field(INPB, "SR03S-VA-SPACE-01:IONPSTA PP MS") + field(INPC, "SR03S-VA-SPACE-01:VALVESTA PP MS") + field(INPD, "SR03S-VA-SPACE-01:PSTA PP MS") +} +record(calc, "SR03S-VA-SPACE-01:IMGSTA") +{ + field(DESC, "IMGs Status") + field(CALC, "(A<2||A=8)?0:1") + field(INPA, "SR03S-VA-GIMG-01:STA") + field(HIGH, "1.5") + field(HSV, "MINOR") +# field(INPA, "SR03S-VA-GIMG-01:STA MS") +# field(HIHI, "1.5") +# field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:IONPSTA") +{ + field(DESC, "Pumps Status") + field(CALC, "(A=4)?0:2") + field(INPA, "SR03S-VA-GIONP-01:STA") + field(HIGH, "0.5") + field(HSV, "MINOR") +# field(INPA, "SR03S-VA-GIONP-01:STA MS") +# field(HIHI, "0.5") +# field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:VALVESTA") +{ + field(DESC, "Valves Status") + field(CALC, "(A=1)?0:4") + field(INPA, "SR03S-VA-GVALV-01:STA MS") + field(HIHI, "3.5") + field(HHSV, "MAJOR") +} +record(calc, "SR03S-VA-SPACE-01:PSTA") +{ + field(DESC, "Pressure Status") + field(CALC, "(AC?A:(BC?A:(BC?A:(BC?A:(BC?A:(B 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03S-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE MS") + field(INPC, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPD, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPE, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPH, "SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03S-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aGaugeGroup.template +#% macro, __doc__, Template database for a group of up to 8 MKS937A +# combination gauges +# Pete Owens - 5/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, gauge1, gauge 1 device name +#% macro, gauge2, gauge 2 device name +#% macro, gauge3, gauge 3 device name +#% macro, gauge4, gauge 4 device name +#% macro, gauge5, gauge 5 device name +#% macro, gauge6, gauge 6 device name +#% macro, gauge7, gauge 7 device name +#% macro, gauge8, gauge 8 device name +#% macro, SELM, Defaults to 1 (High Signal). Set to 0 (Specified) and specify +# SELN in order to specify a particular gauge input to pass to +# the space template +#% macro, SELN, Use this to select which gauge to look at if you set SELM=0 +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(sel, "SR03A-VA-GGAUG-01:SEL") +{ + field(DESC, "Select Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GAUGE-01:SEL MS") + field(INPB, "SR03A-VA-GAUGE-02:SEL MS") + field(INPC, "SR03A-VA-GAUGE-03:SEL MS") + field(INPD, "SR03A-VA-GAUGE-04:SEL MS") + field(INPE, "SR03A-VA-GAUGE-01:SEL MS") + field(INPF, "SR03A-VA-GAUGE-01:SEL MS") + field(INPG, "SR03A-VA-GAUGE-31:SEL MS") + field(INPH, "SR03A-VA-GAUGE-31:SEL MS") +} +record(mbbi, "SR03A-VA-GGAUG-01:GAUGE") +{ + field(DESC, "Active Gauge") + field(INP, "SR03A-VA-GGAUG-01:SEL PP") + field(SCAN, "1 second") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GGAUG-01:PLOG") +{ + field(DESC, "log Pressure") + field(SELM, "1") + field(INPA, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPB, "SR03A-VA-GAUGE-02:PLOG MS") + field(INPC, "SR03A-VA-GAUGE-03:PLOG MS") + field(INPD, "SR03A-VA-GAUGE-04:PLOG MS") + field(INPE, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPF, "SR03A-VA-GAUGE-01:PLOG MS") + field(INPG, "SR03A-VA-GAUGE-31:PLOG MS") + field(INPH, "SR03A-VA-GAUGE-31:PLOG MS") + field(EGU, "log") + field(HOPR, "3") + field(LOPR, "-11") + field(ADEL, "0.003") + field(SELN, "0") +} +record(calc, "SR03A-VA-GGAUG-01:P") +{ + field(DESC, "Pressure") + field(EGU, "mbar") + field(CALC, "10^A") + field(INPA, "SR03A-VA-GGAUG-01:PLOG PP MS") + field(SCAN, "1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +################################################################################ +# If any gauges in group have setpoint write inhibit set, then +# set the group status to 'Inhibit' +# In the :NOWRITE bi record, 'Inhibit' => 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03A-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE MS") + field(INPC, "SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE MS") + field(INPD, "SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE MS") + field(INPE, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS") + field(INPH, "SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03A-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03A-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aGaugeGroup.template +#% macro, __doc__, Template database for a group of up to 8 MKS937A +# combination gauges +# Pete Owens - 5/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, gauge1, gauge 1 device name +#% macro, gauge2, gauge 2 device name +#% macro, gauge3, gauge 3 device name +#% macro, gauge4, gauge 4 device name +#% macro, gauge5, gauge 5 device name +#% macro, gauge6, gauge 6 device name +#% macro, gauge7, gauge 7 device name +#% macro, gauge8, gauge 8 device name +#% macro, SELM, Defaults to 1 (High Signal). Set to 0 (Specified) and specify +# SELN in order to specify a particular gauge input to pass to +# the space template +#% macro, SELN, Use this to select which gauge to look at if you set SELM=0 +################################################################################ +# Select Active Gauge (IMG or PIRG) +# +record(sel, "SR03C-VA-GGAUG-01:SEL") +{ + field(DESC, "Select Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GGAUG-01:SEL MS") + field(INPB, "SR03A-VA-GGAUG-01:SEL MS") + field(INPC, "SR03I-VA-GGAUG-01:SEL MS") + field(INPD, "SR03S-VA-GGAUG-01:SEL MS") + field(INPE, "SR03S-VA-GGAUG-01:SEL MS") + field(INPF, "SR03S-VA-GGAUG-01:SEL MS") + field(INPG, "SR03S-VA-GGAUG-01:SEL MS") + field(INPH, "SR03S-VA-GGAUG-01:SEL MS") +} +record(mbbi, "SR03C-VA-GGAUG-01:GAUGE") +{ + field(DESC, "Active Gauge") + field(INP, "SR03C-VA-GGAUG-01:SEL PP") + field(SCAN, "1 second") + field(ZRST, "IMG") + field(ONST, "Pirani") + field(TWST, "No Gauge") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "MINOR") + field(TWSV, "MAJOR") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GGAUG-01:PLOG") +{ + field(DESC, "log Pressure") + field(SELM, "1") + field(INPA, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPB, "SR03A-VA-GGAUG-01:PLOG MS") + field(INPC, "SR03I-VA-GGAUG-01:PLOG MS") + field(INPD, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPE, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPF, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPG, "SR03S-VA-GGAUG-01:PLOG MS") + field(INPH, "SR03S-VA-GGAUG-01:PLOG MS") + field(EGU, "log") + field(HOPR, "3") + field(LOPR, "-11") + field(ADEL, "0.003") + field(SELN, "0") +} +record(calc, "SR03C-VA-GGAUG-01:P") +{ + field(DESC, "Pressure") + field(EGU, "mbar") + field(CALC, "10^A") + field(INPA, "SR03C-VA-GGAUG-01:PLOG PP MS") + field(SCAN, "1 second") + field(HOPR, "1000") + field(LOPR, "1.0E-11") +} + +################################################################################ +# If any gauges in group have setpoint write inhibit set, then +# set the group status to 'Inhibit' +# In the :NOWRITE bi record, 'Inhibit' => 1 so can use 'High Signal' to select +# IJG 10 Dec. 14 +# +record(sel, "SR03C-VA-GGAUG-01:NWRSEL") +{ + field(DESC, "Select Inhibit status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPB, "SR03A-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPC, "SR03I-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPD, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPE, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPF, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPG, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") + field(INPH, "SR03S-VA-GGAUG-01:ILKSETSP:NOWRITE MS") +} +record(mbbi, "SR03C-VA-GGAUG-01:ILKSETSP:NOWRITE") +{ + field(DESC, "ILK setpoint write status") + field(INP, "SR03C-VA-GGAUG-01:NWRSEL PP") + field(SCAN, "1 second") + field(ZRST, "Allow") + field(ONST, "Inhibit") + field(ZRVL, "0") + field(ONVL, "1") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") +} +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03S-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03S-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03S-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03S-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03S-VA-GIMG-01:CCHV") + field(DOL3, "SR03S-VA-GIMG-01:CCHV") + field(DOL4, "SR03S-VA-GIMG-01:CCHV") + field(DOL5, "SR03S-VA-GIMG-01:CCHV") + field(DOL6, "SR03S-VA-GIMG-01:CCHV") + field(DOL7, "SR03S-VA-GIMG-01:CCHV") + field(DOL8, "SR03S-VA-GIMG-01:CCHV") + field(DOL9, "SR03S-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0.0") + field(DLY4, "0.0") + field(DLY5, "0.0") + field(DLY6, "0.0") + field(DLY7, "0.0") + field(DLY8, "0.0") + field(DLY9, "0.0") + field(DLYA, "0") + field(LNK1, "SR03S-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03S-VA-IMG-01:CCHV CA") + field(LNK3, "SR03S-VA-IMG-02:CCHV CA") + field(LNK4, "SR03S-VA-IMG-01:CCHV CA") + field(LNK5, "SR03S-VA-IMG-01:CCHV CA") + field(LNK6, "SR03S-VA-IMG-01:CCHV CA") + field(LNK7, "SR03S-VA-IMG-01:CCHV CA") + field(LNK8, "SR03S-VA-IMG-01:CCHV CA") + field(LNK9, "SR03S-VA-IMG-01:CCHV CA") + field(LNKA, "SR03S-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03S-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03S-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03S-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:STA MS") + field(INPB, "SR03S-VA-IMG-02:STA MS") + field(INPC, "SR03S-VA-IMG-01:STA MS") + field(INPD, "SR03S-VA-IMG-01:STA MS") + field(INPE, "SR03S-VA-IMG-01:STA MS") + field(INPF, "SR03S-VA-IMG-01:STA MS") + field(INPG, "SR03S-VA-IMG-01:STA MS") + field(INPH, "SR03S-VA-IMG-01:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03S-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:P MS") + field(INPB, "SR03S-VA-IMG-02:P MS") + field(INPC, "SR03S-VA-IMG-01:P MS") + field(INPD, "SR03S-VA-IMG-01:P MS") + field(INPE, "SR03S-VA-IMG-01:P MS") + field(INPF, "SR03S-VA-IMG-01:P MS") + field(INPG, "SR03S-VA-IMG-01:P MS") + field(INPH, "SR03S-VA-IMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03S-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GIMG-01:P PP MS") + field(FLNK, "SR03S-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03S-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:PMAX") + field(INPB, "SR03S-VA-IMG-02:PMAX") + field(INPC, "SR03S-VA-IMG-01:PMAX") + field(INPD, "SR03S-VA-IMG-01:PMAX") + field(INPE, "SR03S-VA-IMG-01:PMAX") + field(INPF, "SR03S-VA-IMG-01:PMAX") + field(INPG, "SR03S-VA-IMG-01:PMAX") + field(INPH, "SR03S-VA-IMG-01:PMAX") + field(FLNK, "SR03S-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03S-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-IMG-01:PMIN") + field(INPB, "SR03S-VA-IMG-02:PMIN") + field(INPC, "SR03S-VA-IMG-01:PMIN") + field(INPD, "SR03S-VA-IMG-01:PMIN") + field(INPE, "SR03S-VA-IMG-01:PMIN") + field(INPF, "SR03S-VA-IMG-01:PMIN") + field(INPG, "SR03S-VA-IMG-01:PMIN") + field(INPH, "SR03S-VA-IMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03S-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03S-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03S-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:PRO:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:PRO:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:PRO:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:PRO:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:PRO:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:PRO:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPB, "SR03S-VA-IMG-02:PRO:SP MS") + field(INPC, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPD, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPE, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPF, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPG, "SR03S-VA-IMG-01:PRO:SP MS") + field(INPH, "SR03S-VA-IMG-01:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03S-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03S-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03S-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:RLY:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:RLY:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:RLY:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:RLY:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPB, "SR03S-VA-IMG-02:RLY:SP MS") + field(INPC, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPD, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPE, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPF, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPG, "SR03S-VA-IMG-01:RLY:SP MS") + field(INPH, "SR03S-VA-IMG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03S-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPB, "SR03S-VA-IMG-02:RLA:EXISTS") + field(INPC, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPD, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPE, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPF, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPG, "SR03S-VA-IMG-01:RLA:EXISTS") + field(INPH, "SR03S-VA-IMG-01:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03S-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03S-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03S-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03S-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03S-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK2, "SR03S-VA-IMG-02:RLA:SETSP CA") + field(LNK3, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK4, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK5, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK6, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK7, "SR03S-VA-IMG-01:RLA:SETSP CA") + field(LNK8, "SR03S-VA-IMG-01:RLA:SETSP CA") +} +record(mbbo, "SR03S-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03S-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK2, "SR03S-VA-IMG-02:RLA:ENABLE CA") + field(LNK3, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK4, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK5, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK6, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK7, "SR03S-VA-IMG-01:RLA:ENABLE CA") + field(LNK8, "SR03S-VA-IMG-01:RLA:ENABLE CA") +} +record(sel, "SR03S-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPB, "SR03S-VA-IMG-02:RLA:SP MS") + field(INPC, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPD, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPE, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPF, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPG, "SR03S-VA-IMG-01:RLA:SP MS") + field(INPH, "SR03S-VA-IMG-01:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03A-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03A-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03A-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03A-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03A-VA-GIMG-01:CCHV") + field(DOL3, "SR03A-VA-GIMG-01:CCHV") + field(DOL4, "SR03A-VA-GIMG-01:CCHV") + field(DOL5, "SR03A-VA-GIMG-01:CCHV") + field(DOL6, "SR03A-VA-GIMG-01:CCHV") + field(DOL7, "SR03A-VA-GIMG-01:CCHV") + field(DOL8, "SR03A-VA-GIMG-01:CCHV") + field(DOL9, "SR03A-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0.0") + field(DLY4, "0.0") + field(DLY5, "0.0") + field(DLY6, "0.0") + field(DLY7, "0.0") + field(DLY8, "0.0") + field(DLY9, "0.0") + field(DLYA, "0") + field(LNK1, "SR03A-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03A-VA-IMG-01:CCHV CA") + field(LNK3, "SR03A-VA-IMG-02:CCHV CA") + field(LNK4, "SR03A-VA-IMG-03:CCHV CA") + field(LNK5, "SR03A-VA-IMG-04:CCHV CA") + field(LNK6, "SR03A-VA-IMG-01:CCHV CA") + field(LNK7, "SR03A-VA-IMG-01:CCHV CA") + field(LNK8, "SR03A-VA-IMG-31:CCHV CA") + field(LNK9, "SR03A-VA-IMG-31:CCHV CA") + field(LNKA, "SR03A-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03A-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03A-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03A-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:STA MS") + field(INPB, "SR03A-VA-IMG-02:STA MS") + field(INPC, "SR03A-VA-IMG-03:STA MS") + field(INPD, "SR03A-VA-IMG-04:STA MS") + field(INPE, "SR03A-VA-IMG-01:STA MS") + field(INPF, "SR03A-VA-IMG-01:STA MS") + field(INPG, "SR03A-VA-IMG-31:STA MS") + field(INPH, "SR03A-VA-IMG-31:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:P MS") + field(INPB, "SR03A-VA-IMG-02:P MS") + field(INPC, "SR03A-VA-IMG-03:P MS") + field(INPD, "SR03A-VA-IMG-04:P MS") + field(INPE, "SR03A-VA-IMG-01:P MS") + field(INPF, "SR03A-VA-IMG-01:P MS") + field(INPG, "SR03A-VA-IMG-31:P MS") + field(INPH, "SR03A-VA-IMG-31:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03A-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GIMG-01:P PP MS") + field(FLNK, "SR03A-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03A-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:PMAX") + field(INPB, "SR03A-VA-IMG-02:PMAX") + field(INPC, "SR03A-VA-IMG-03:PMAX") + field(INPD, "SR03A-VA-IMG-04:PMAX") + field(INPE, "SR03A-VA-IMG-01:PMAX") + field(INPF, "SR03A-VA-IMG-01:PMAX") + field(INPG, "SR03A-VA-IMG-31:PMAX") + field(INPH, "SR03A-VA-IMG-31:PMAX") + field(FLNK, "SR03A-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03A-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-IMG-01:PMIN") + field(INPB, "SR03A-VA-IMG-02:PMIN") + field(INPC, "SR03A-VA-IMG-03:PMIN") + field(INPD, "SR03A-VA-IMG-04:PMIN") + field(INPE, "SR03A-VA-IMG-01:PMIN") + field(INPF, "SR03A-VA-IMG-01:PMIN") + field(INPG, "SR03A-VA-IMG-31:PMIN") + field(INPH, "SR03A-VA-IMG-31:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03A-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03A-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03A-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:PRO:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:PRO:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:PRO:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:PRO:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:PRO:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:PRO:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:PRO:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:PRO:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:PRO:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:PRO:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:PRO:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:PRO:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPB, "SR03A-VA-IMG-02:PRO:SP MS") + field(INPC, "SR03A-VA-IMG-03:PRO:SP MS") + field(INPD, "SR03A-VA-IMG-04:PRO:SP MS") + field(INPE, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPF, "SR03A-VA-IMG-01:PRO:SP MS") + field(INPG, "SR03A-VA-IMG-31:PRO:SP MS") + field(INPH, "SR03A-VA-IMG-31:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03A-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03A-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03A-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:RLY:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:RLY:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:RLY:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:RLY:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:RLY:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:RLY:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:RLY:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:RLY:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:RLY:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:RLY:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:RLY:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:RLY:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPB, "SR03A-VA-IMG-02:RLY:SP MS") + field(INPC, "SR03A-VA-IMG-03:RLY:SP MS") + field(INPD, "SR03A-VA-IMG-04:RLY:SP MS") + field(INPE, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPF, "SR03A-VA-IMG-01:RLY:SP MS") + field(INPG, "SR03A-VA-IMG-31:RLY:SP MS") + field(INPH, "SR03A-VA-IMG-31:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03A-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPB, "SR03A-VA-IMG-02:RLA:EXISTS") + field(INPC, "SR03A-VA-IMG-03:RLA:EXISTS") + field(INPD, "SR03A-VA-IMG-04:RLA:EXISTS") + field(INPE, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPF, "SR03A-VA-IMG-01:RLA:EXISTS") + field(INPG, "SR03A-VA-IMG-31:RLA:EXISTS") + field(INPH, "SR03A-VA-IMG-31:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03A-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03A-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03A-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03A-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03A-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK2, "SR03A-VA-IMG-02:RLA:SETSP CA") + field(LNK3, "SR03A-VA-IMG-03:RLA:SETSP CA") + field(LNK4, "SR03A-VA-IMG-04:RLA:SETSP CA") + field(LNK5, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK6, "SR03A-VA-IMG-01:RLA:SETSP CA") + field(LNK7, "SR03A-VA-IMG-31:RLA:SETSP CA") + field(LNK8, "SR03A-VA-IMG-31:RLA:SETSP CA") +} +record(mbbo, "SR03A-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03A-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK2, "SR03A-VA-IMG-02:RLA:ENABLE CA") + field(LNK3, "SR03A-VA-IMG-03:RLA:ENABLE CA") + field(LNK4, "SR03A-VA-IMG-04:RLA:ENABLE CA") + field(LNK5, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK6, "SR03A-VA-IMG-01:RLA:ENABLE CA") + field(LNK7, "SR03A-VA-IMG-31:RLA:ENABLE CA") + field(LNK8, "SR03A-VA-IMG-31:RLA:ENABLE CA") +} +record(sel, "SR03A-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPB, "SR03A-VA-IMG-02:RLA:SP MS") + field(INPC, "SR03A-VA-IMG-03:RLA:SP MS") + field(INPD, "SR03A-VA-IMG-04:RLA:SP MS") + field(INPE, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPF, "SR03A-VA-IMG-01:RLA:SP MS") + field(INPG, "SR03A-VA-IMG-31:RLA:SP MS") + field(INPH, "SR03A-VA-IMG-31:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aImgGroup.template +#% macro, __doc__, Template database for a group of up to 8 IMGs +# Pete Owens - 10/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between starting each IMG +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +################################################################################ +# Cold Cathode Enable +# +record(bo, "SR03C-VA-GIMG-01:CCHV") +{ + field(DESC, "Cold Cathode Enable") + field(FLNK, "SR03C-VA-GIMG-01:SEQCCHV") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(bi,"SR03C-VA-GIMG-01:SWITCHING") +{ + field(DESC, "Switching") + field(PINI, "YES") + field(INP, "0") + field(ZNAM, "") + field(ONAM, "Switching") +} +record(seq, "SR03C-VA-GIMG-01:SEQCCHV") +{ + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03C-VA-GIMG-01:CCHV") + field(DOL3, "SR03C-VA-GIMG-01:CCHV") + field(DOL4, "SR03C-VA-GIMG-01:CCHV") + field(DOL5, "SR03C-VA-GIMG-01:CCHV") + field(DOL6, "SR03C-VA-GIMG-01:CCHV") + field(DOL7, "SR03C-VA-GIMG-01:CCHV") + field(DOL8, "SR03C-VA-GIMG-01:CCHV") + field(DOL9, "SR03C-VA-GIMG-01:CCHV") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0.0") + field(DLY4, "0.0") + field(DLY5, "0.0") + field(DLY6, "0.0") + field(DLY7, "0.0") + field(DLY8, "0.0") + field(DLY9, "0.0") + field(DLYA, "0") + field(LNK1, "SR03C-VA-GIMG-01:SWITCHING PP") + field(LNK2, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK3, "SR03A-VA-GIMG-01:CCHV CA") + field(LNK4, "SR03I-VA-GIMG-01:CCHV CA") + field(LNK5, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK6, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK7, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK8, "SR03S-VA-GIMG-01:CCHV CA") + field(LNK9, "SR03S-VA-GIMG-01:CCHV CA") + field(LNKA, "SR03C-VA-GIMG-01:SWITCHING PP") +} +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GIMG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GIMG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(FLNK, "SR03C-VA-GIMG-01:P") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GIMG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:STA MS") + field(INPB, "SR03A-VA-GIMG-01:STA MS") + field(INPC, "SR03I-VA-GIMG-01:STA MS") + field(INPD, "SR03S-VA-GIMG-01:STA MS") + field(INPE, "SR03S-VA-GIMG-01:STA MS") + field(INPF, "SR03S-VA-GIMG-01:STA MS") + field(INPG, "SR03S-VA-GIMG-01:STA MS") + field(INPH, "SR03S-VA-GIMG-01:STA MS") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GIMG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:P MS") + field(INPB, "SR03A-VA-GIMG-01:P MS") + field(INPC, "SR03I-VA-GIMG-01:P MS") + field(INPD, "SR03S-VA-GIMG-01:P MS") + field(INPE, "SR03S-VA-GIMG-01:P MS") + field(INPF, "SR03S-VA-GIMG-01:P MS") + field(INPG, "SR03S-VA-GIMG-01:P MS") + field(INPH, "SR03S-VA-GIMG-01:P MS") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(calc, "SR03C-VA-GIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GIMG-01:P PP MS") + field(FLNK, "SR03C-VA-GIMG-01:PMAX") + field(SCAN, "1 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(sel, "SR03C-VA-GIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:PMAX") + field(INPB, "SR03A-VA-GIMG-01:PMAX") + field(INPC, "SR03I-VA-GIMG-01:PMAX") + field(INPD, "SR03S-VA-GIMG-01:PMAX") + field(INPE, "SR03S-VA-GIMG-01:PMAX") + field(INPF, "SR03S-VA-GIMG-01:PMAX") + field(INPG, "SR03S-VA-GIMG-01:PMAX") + field(INPH, "SR03S-VA-GIMG-01:PMAX") + field(FLNK, "SR03C-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +record(sel, "SR03C-VA-GIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-GIMG-01:PMIN") + field(INPB, "SR03A-VA-GIMG-01:PMIN") + field(INPC, "SR03I-VA-GIMG-01:PMIN") + field(INPD, "SR03S-VA-GIMG-01:PMIN") + field(INPE, "SR03S-VA-GIMG-01:PMIN") + field(INPF, "SR03S-VA-GIMG-01:PMIN") + field(INPG, "SR03S-VA-GIMG-01:PMIN") + field(INPH, "SR03S-VA-GIMG-01:PMIN") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +################################################################################ +# Protection - IMG Overpressure +# +record(ao, "SR03C-VA-GIMG-01:PRO:SETSP") +{ + field(DESC, "IMG Overpressure") + field(FLNK, "SR03C-VA-GIMG-01:PRO:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") + field(DRVH, "1.0e-2") + field(DRVL, "1.3e-5") + field(DOL , "5.0e-4") +} +record(seq, "SR03C-VA-GIMG-01:PRO:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:PRO:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:PRO:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:PRO:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:PRO:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:PRO:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:PRO:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:PRO:ENABLE") +{ + field(DESC, "Enable Protection Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:PRO:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:PRO:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:PRO:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:PRO:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:PRO:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:PRO:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:PRO:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:PRO:SP") +{ + field(DESC, "IMG Overpressure") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPB, "SR03A-VA-GIMG-01:PRO:SP MS") + field(INPC, "SR03I-VA-GIMG-01:PRO:SP MS") + field(INPD, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPE, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPF, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPG, "SR03S-VA-GIMG-01:PRO:SP MS") + field(INPH, "SR03S-VA-GIMG-01:PRO:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay - Valve Interlock +# +record(ao, "SR03C-VA-GIMG-01:RLY:SETSP") +{ + field(DESC, "Valve I/L") + field(FLNK, "SR03C-VA-GIMG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-6") +} +record(seq, "SR03C-VA-GIMG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:RLY:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:RLY:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:RLY:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:RLY:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:RLY:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:RLY:SP") +{ + field(DESC, "Valve Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPB, "SR03A-VA-GIMG-01:RLY:SP MS") + field(INPC, "SR03I-VA-GIMG-01:RLY:SP MS") + field(INPD, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPE, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPF, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPG, "SR03S-VA-GIMG-01:RLY:SP MS") + field(INPH, "SR03S-VA-GIMG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.0e-2") + field(LOPR, "1.3e-5") +} +################################################################################ +# Relay 2 (Chanel A Only) - MPS Interlock +# +record(sel, "SR03C-VA-GIMG-01:RLA:EXISTS") +{ + field(DESC, "Relay Exists") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPB, "SR03A-VA-GIMG-01:RLA:EXISTS") + field(INPC, "SR03I-VA-GIMG-01:RLA:EXISTS") + field(INPD, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPE, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPF, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPG, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(INPH, "SR03S-VA-GIMG-01:RLA:EXISTS") + field(PINI, "YES") +} +record(ao, "SR03C-VA-GIMG-01:RLA:SETSP") +{ + field(DESC, "MPS Interlock") + field(FLNK, "SR03C-VA-GIMG-01:RLA:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") + field(DRVH, "1.2e-2") + field(DRVL, "2.7e-10") + field(DOL , "1.0e-7") +} +record(seq, "SR03C-VA-GIMG-01:RLA:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL2, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL3, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL4, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL5, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL6, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL7, "SR03C-VA-GIMG-01:RLA:SETSP") + field(DOL8, "SR03C-VA-GIMG-01:RLA:SETSP") + field(LNK1, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK2, "SR03A-VA-GIMG-01:RLA:SETSP CA") + field(LNK3, "SR03I-VA-GIMG-01:RLA:SETSP CA") + field(LNK4, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK5, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK6, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK7, "SR03S-VA-GIMG-01:RLA:SETSP CA") + field(LNK8, "SR03S-VA-GIMG-01:RLA:SETSP CA") +} +record(mbbo, "SR03C-VA-GIMG-01:RLA:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GIMG-01:RLA:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GIMG-01:RLA:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL2, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL3, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL4, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL5, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL6, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL7, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(DOL8, "SR03C-VA-GIMG-01:RLA:ENABLE") + field(LNK1, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK2, "SR03A-VA-GIMG-01:RLA:ENABLE CA") + field(LNK3, "SR03I-VA-GIMG-01:RLA:ENABLE CA") + field(LNK4, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK5, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK6, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK7, "SR03S-VA-GIMG-01:RLA:ENABLE CA") + field(LNK8, "SR03S-VA-GIMG-01:RLA:ENABLE CA") +} +record(sel, "SR03C-VA-GIMG-01:RLA:SP") +{ + field(DESC, "MPS Interlock") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPB, "SR03A-VA-GIMG-01:RLA:SP MS") + field(INPC, "SR03I-VA-GIMG-01:RLA:SP MS") + field(INPD, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPE, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPF, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPG, "SR03S-VA-GIMG-01:RLA:SP MS") + field(INPH, "SR03S-VA-GIMG-01:RLA:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e-2") + field(LOPR, "2.7e-10") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03S-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03S-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:STA") + field(INPB, "SR03S-VA-PIRG-02:STA") + field(INPC, "SR03S-VA-PIRG-01:STA") + field(INPD, "SR03S-VA-PIRG-01:STA") + field(INPE, "SR03S-VA-PIRG-01:STA") + field(INPF, "SR03S-VA-PIRG-01:STA") + field(INPG, "SR03S-VA-PIRG-01:STA") + field(INPH, "SR03S-VA-PIRG-01:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03S-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:P MS") + field(INPB, "SR03S-VA-PIRG-02:P MS") + field(INPC, "SR03S-VA-PIRG-01:P MS") + field(INPD, "SR03S-VA-PIRG-01:P MS") + field(INPE, "SR03S-VA-PIRG-01:P MS") + field(INPF, "SR03S-VA-PIRG-01:P MS") + field(INPG, "SR03S-VA-PIRG-01:P MS") + field(INPH, "SR03S-VA-PIRG-01:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03S-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03S-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03S-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03S-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03S-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK2, "SR03S-VA-PIRG-02:CTL:SETSP CA") + field(LNK3, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK4, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK5, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK6, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK7, "SR03S-VA-PIRG-01:CTL:SETSP CA") + field(LNK8, "SR03S-VA-PIRG-01:CTL:SETSP CA") +} +record(mbbo, "SR03S-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03S-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03S-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03S-VA-PIRG-02:CTL:ENABLE CA") + field(LNK3, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK4, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK5, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03S-VA-PIRG-01:CTL:ENABLE CA") + field(LNK8, "SR03S-VA-PIRG-01:CTL:ENABLE CA") +} +record(sel, "SR03S-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPB, "SR03S-VA-PIRG-02:CTL:SP MS") + field(INPC, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPD, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPE, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPF, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPG, "SR03S-VA-PIRG-01:CTL:SP MS") + field(INPH, "SR03S-VA-PIRG-01:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03S-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03S-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03S-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03S-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK2, "SR03S-VA-PIRG-02:RLY:SETSP CA") + field(LNK3, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-PIRG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-PIRG-01:RLY:SETSP CA") +} +record(mbbo, "SR03S-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03S-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03S-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03S-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03S-VA-PIRG-02:RLY:ENABLE CA") + field(LNK3, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-PIRG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-PIRG-01:RLY:ENABLE CA") +} +record(sel, "SR03S-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPB, "SR03S-VA-PIRG-02:RLY:SP MS") + field(INPC, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPD, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPE, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPF, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPG, "SR03S-VA-PIRG-01:RLY:SP MS") + field(INPH, "SR03S-VA-PIRG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03A-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03A-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:STA") + field(INPB, "SR03A-VA-PIRG-02:STA") + field(INPC, "SR03A-VA-PIRG-03:STA") + field(INPD, "SR03A-VA-PIRG-04:STA") + field(INPE, "SR03A-VA-PIRG-01:STA") + field(INPF, "SR03A-VA-PIRG-01:STA") + field(INPG, "SR03A-VA-PIRG-31:STA") + field(INPH, "SR03A-VA-PIRG-31:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03A-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:P MS") + field(INPB, "SR03A-VA-PIRG-02:P MS") + field(INPC, "SR03A-VA-PIRG-03:P MS") + field(INPD, "SR03A-VA-PIRG-04:P MS") + field(INPE, "SR03A-VA-PIRG-01:P MS") + field(INPF, "SR03A-VA-PIRG-01:P MS") + field(INPG, "SR03A-VA-PIRG-31:P MS") + field(INPH, "SR03A-VA-PIRG-31:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03A-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03A-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03A-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03A-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03A-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK2, "SR03A-VA-PIRG-02:CTL:SETSP CA") + field(LNK3, "SR03A-VA-PIRG-03:CTL:SETSP CA") + field(LNK4, "SR03A-VA-PIRG-04:CTL:SETSP CA") + field(LNK5, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK6, "SR03A-VA-PIRG-01:CTL:SETSP CA") + field(LNK7, "SR03A-VA-PIRG-31:CTL:SETSP CA") + field(LNK8, "SR03A-VA-PIRG-31:CTL:SETSP CA") +} +record(mbbo, "SR03A-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03A-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03A-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03A-VA-PIRG-02:CTL:ENABLE CA") + field(LNK3, "SR03A-VA-PIRG-03:CTL:ENABLE CA") + field(LNK4, "SR03A-VA-PIRG-04:CTL:ENABLE CA") + field(LNK5, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03A-VA-PIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03A-VA-PIRG-31:CTL:ENABLE CA") + field(LNK8, "SR03A-VA-PIRG-31:CTL:ENABLE CA") +} +record(sel, "SR03A-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPB, "SR03A-VA-PIRG-02:CTL:SP MS") + field(INPC, "SR03A-VA-PIRG-03:CTL:SP MS") + field(INPD, "SR03A-VA-PIRG-04:CTL:SP MS") + field(INPE, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPF, "SR03A-VA-PIRG-01:CTL:SP MS") + field(INPG, "SR03A-VA-PIRG-31:CTL:SP MS") + field(INPH, "SR03A-VA-PIRG-31:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03A-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03A-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03A-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03A-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-PIRG-02:RLY:SETSP CA") + field(LNK3, "SR03A-VA-PIRG-03:RLY:SETSP CA") + field(LNK4, "SR03A-VA-PIRG-04:RLY:SETSP CA") + field(LNK5, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK6, "SR03A-VA-PIRG-01:RLY:SETSP CA") + field(LNK7, "SR03A-VA-PIRG-31:RLY:SETSP CA") + field(LNK8, "SR03A-VA-PIRG-31:RLY:SETSP CA") +} +record(mbbo, "SR03A-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03A-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03A-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03A-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-PIRG-02:RLY:ENABLE CA") + field(LNK3, "SR03A-VA-PIRG-03:RLY:ENABLE CA") + field(LNK4, "SR03A-VA-PIRG-04:RLY:ENABLE CA") + field(LNK5, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03A-VA-PIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03A-VA-PIRG-31:RLY:ENABLE CA") + field(LNK8, "SR03A-VA-PIRG-31:RLY:ENABLE CA") +} +record(sel, "SR03A-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPB, "SR03A-VA-PIRG-02:RLY:SP MS") + field(INPC, "SR03A-VA-PIRG-03:RLY:SP MS") + field(INPD, "SR03A-VA-PIRG-04:RLY:SP MS") + field(INPE, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPF, "SR03A-VA-PIRG-01:RLY:SP MS") + field(INPG, "SR03A-VA-PIRG-31:RLY:SP MS") + field(INPH, "SR03A-VA-PIRG-31:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ +# mks937aPirgGroup.template +#% macro, __doc__, Template database for a group of up to 8 Pirani Gauges +# Pete Owens - 9/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, pirg1, pirg 1 device name +#% macro, pirg2, pirg 2 device name +#% macro, pirg3, pirg 3 device name +#% macro, pirg4, pirg 4 device name +#% macro, pirg5, pirg 5 device name +#% macro, pirg6, pirg 6 device name +#% macro, pirg7, pirg 7 device name +#% macro, pirg8, pirg 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GPIRG-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GPIRG-01:SELSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GPIRG-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:STA") + field(INPB, "SR03A-VA-GPIRG-01:STA") + field(INPC, "SR03I-VA-GPIRG-01:STA") + field(INPD, "SR03S-VA-GPIRG-01:STA") + field(INPE, "SR03S-VA-GPIRG-01:STA") + field(INPF, "SR03S-VA-GPIRG-01:STA") + field(INPG, "SR03S-VA-GPIRG-01:STA") + field(INPH, "SR03S-VA-GPIRG-01:STA") +} +################################################################################ +# Pressure +# +record(sel, "SR03C-VA-GPIRG-01:P") +{ + field(DESC, "Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:P MS") + field(INPB, "SR03A-VA-GPIRG-01:P MS") + field(INPC, "SR03I-VA-GPIRG-01:P MS") + field(INPD, "SR03S-VA-GPIRG-01:P MS") + field(INPE, "SR03S-VA-GPIRG-01:P MS") + field(INPF, "SR03S-VA-GPIRG-01:P MS") + field(INPG, "SR03S-VA-GPIRG-01:P MS") + field(INPH, "SR03S-VA-GPIRG-01:P MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1000") + field(LOPR, "0.001") +} +record(calc, "SR03C-VA-GPIRG-01:PLOG") +{ + field(DESC, "log Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GPIRG-01:P PP MS") + field(SCAN, "1 second") + field(HOPR, "3") + field(LOPR, "-3") +} +################################################################################ +# Control - IMG Enable (link from IMG to PIRG) +# +record(ao, "SR03C-VA-GPIRG-01:CTL:SETSP") +{ + field(DESC, "IMG Enable") + field(FLNK, "SR03C-VA-GPIRG-01:CTL:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") + field(DRVH, "9.5e-1") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03C-VA-GPIRG-01:CTL:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL2, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL3, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL4, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL5, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL6, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL7, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(DOL8, "SR03C-VA-GPIRG-01:CTL:SETSP") + field(LNK1, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK2, "SR03A-VA-GPIRG-01:CTL:SETSP CA") + field(LNK3, "SR03I-VA-GPIRG-01:CTL:SETSP CA") + field(LNK4, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK5, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK6, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK7, "SR03S-VA-GPIRG-01:CTL:SETSP CA") + field(LNK8, "SR03S-VA-GPIRG-01:CTL:SETSP CA") +} +record(mbbo, "SR03C-VA-GPIRG-01:CTL:ENABLE") +{ + field(DESC, "Enable Control Setpoint") + field(FLNK, "SR03C-VA-GPIRG-01:CTL:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GPIRG-01:CTL:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL2, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL3, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL4, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL5, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL6, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL7, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(DOL8, "SR03C-VA-GPIRG-01:CTL:ENABLE") + field(LNK1, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK2, "SR03A-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK3, "SR03I-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK4, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK5, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK6, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK7, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") + field(LNK8, "SR03S-VA-GPIRG-01:CTL:ENABLE CA") +} +record(sel, "SR03C-VA-GPIRG-01:CTL:SP") +{ + field(DESC, "IMG Enable") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPB, "SR03A-VA-GPIRG-01:CTL:SP MS") + field(INPC, "SR03I-VA-GPIRG-01:CTL:SP MS") + field(INPD, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPE, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPF, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPG, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(INPH, "SR03S-VA-GPIRG-01:CTL:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "9.5e-1") + field(LOPR, "2.7e-3") +} +################################################################################ +# Relay - Ion Pump Interlock +# +record(ao, "SR03C-VA-GPIRG-01:RLY:SETSP") +{ + field(DESC, "Ion Pump I/L") + field(FLNK, "SR03C-VA-GPIRG-01:RLY:SEQSP") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") + field(DRVH, "1.2e2") + field(DRVL, "2.7e-3") + field(DOL , "1.0e-2") +} +record(seq, "SR03C-VA-GPIRG-01:RLY:SEQSP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL2, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL3, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL4, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL5, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL6, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL7, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(DOL8, "SR03C-VA-GPIRG-01:RLY:SETSP") + field(LNK1, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK2, "SR03A-VA-GPIRG-01:RLY:SETSP CA") + field(LNK3, "SR03I-VA-GPIRG-01:RLY:SETSP CA") + field(LNK4, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK5, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK6, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK7, "SR03S-VA-GPIRG-01:RLY:SETSP CA") + field(LNK8, "SR03S-VA-GPIRG-01:RLY:SETSP CA") +} +record(mbbo, "SR03C-VA-GPIRG-01:RLY:ENABLE") +{ + field(DESC, "Enable Relay Setpoint") + field(FLNK, "SR03C-VA-GPIRG-01:RLY:SEQENA") + field(ZRST, "Force On I/L") + field(ONST, "I/L Operating") + field(ZRVL, "1") + field(ONVL, "2") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(DOL , "1") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GPIRG-01:RLY:SEQENA") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL2, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL3, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL4, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL5, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL6, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL7, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(DOL8, "SR03C-VA-GPIRG-01:RLY:ENABLE") + field(LNK1, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK2, "SR03A-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK3, "SR03I-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK4, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK5, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK6, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK7, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") + field(LNK8, "SR03S-VA-GPIRG-01:RLY:ENABLE CA") +} +record(sel, "SR03C-VA-GPIRG-01:RLY:SP") +{ + field(DESC, "Ion Pump I/L") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPB, "SR03A-VA-GPIRG-01:RLY:SP MS") + field(INPC, "SR03I-VA-GPIRG-01:RLY:SP MS") + field(INPD, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPE, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPF, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPG, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(INPH, "SR03S-VA-GPIRG-01:RLY:SP MS") + field(EGU, "mbar") + field(PREC, "1") + field(HOPR, "1.2e2") + field(LOPR, "2.7e-3") +} +################################################################################ + + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) + +################################################################################ +# Control +# +record(mbbo, "SR03S-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03S-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03S-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03S-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03S-VA-GVALV-01:CON") +} + +record(seq, "SR03S-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03S-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03S-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03S-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03S-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03S-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03S-VA-GVALV-01:CON") + field(DOL3, "SR03S-VA-GVALV-01:CON") + field(DOL4, "SR03S-VA-GVALV-01:CON") + field(DOL5, "SR03S-VA-GVALV-01:CON") + field(DOL6, "SR03S-VA-GVALV-01:CON") + field(DOL7, "SR03S-VA-GVALV-01:CON") + field(DOL8, "SR03S-VA-GVALV-01:CON") + field(DOL9, "SR03S-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") + field(DLY9, "0") + field(DLYA, "0") + field(LNK1, "SR03S-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") + field(LNK9, "SR03A-VA-VALVE-01:CON CA") + field(LNKA, "SR03S-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03S-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-VALVE-01:CON CA") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") + field(DLY2, "0") + field(DLY3, "0") + field(DLY4, "0") + field(DLY5, "0") + field(DLY6, "0") + field(DLY7, "0") + field(DLY8, "0") +} + +record(seq, "SR03S-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-VALVE-01:CON CA") + field(LNK2, "SR03A-VA-VALVE-01:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-01:CON CA") + field(LNK6, "SR03A-VA-VALVE-01:CON CA") + field(LNK7, "SR03A-VA-VALVE-01:CON CA") + field(LNK8, "SR03A-VA-VALVE-01:CON CA") +} + +record(mbbi, "SR03S-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-VALVE-01:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03S-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03S-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03S-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPB, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPD, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPE, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPF, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPG, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPH, "SR03A-VA-VALVE-01:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03S-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03S-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03S-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03S-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03S-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03S-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:STA MS") + field(INPB, "SR03A-VA-VALVE-01:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-01:STA MS") + field(INPE, "SR03A-VA-VALVE-01:STA MS") + field(INPF, "SR03A-VA-VALVE-01:STA MS") + field(INPG, "SR03A-VA-VALVE-01:STA MS") + field(INPH, "SR03A-VA-VALVE-01:STA MS") +} + +record(sel, "SR03S-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:STA MS") + field(INPB, "SR03A-VA-VALVE-01:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-01:STA MS") + field(INPE, "SR03A-VA-VALVE-01:STA MS") + field(INPF, "SR03A-VA-VALVE-01:STA MS") + field(INPG, "SR03A-VA-VALVE-01:STA MS") + field(INPH, "SR03A-VA-VALVE-01:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03S-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03S-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03S-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:OPS MS") + field(INPB, "SR03A-VA-VALVE-01:OPS MS") + field(INPC, "SR03A-VA-VALVE-01:OPS MS") + field(INPD, "SR03A-VA-VALVE-01:OPS MS") + field(INPE, "SR03A-VA-VALVE-01:OPS MS") + field(INPF, "SR03A-VA-VALVE-01:OPS MS") + field(INPG, "SR03A-VA-VALVE-01:OPS MS") + field(INPH, "SR03A-VA-VALVE-01:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03S-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03S-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03S-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:MODE MS") + field(INPB, "SR03A-VA-VALVE-01:MODE MS") + field(INPC, "SR03A-VA-VALVE-01:MODE MS") + field(INPD, "SR03A-VA-VALVE-01:MODE MS") + field(INPE, "SR03A-VA-VALVE-01:MODE MS") + field(INPF, "SR03A-VA-VALVE-01:MODE MS") + field(INPG, "SR03A-VA-VALVE-01:MODE MS") + field(INPH, "SR03A-VA-VALVE-01:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03S-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03S-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03S-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPB, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPC, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPE, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPF, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPG, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPH, "SR03A-VA-VALVE-01:RAWAIRSTA MS") +} + + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03S-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03S-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03S-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03S-VA-GVALV-01:SETADB") + field(DOL2, "SR03S-VA-GVALV-01:SETADB") + field(DOL3, "SR03S-VA-GVALV-01:SETADB") + field(DOL4, "SR03S-VA-GVALV-01:SETADB") + field(DOL5, "SR03S-VA-GVALV-01:SETADB") + field(DOL6, "SR03S-VA-GVALV-01:SETADB") + field(DOL7, "SR03S-VA-GVALV-01:SETADB") + field(DOL8, "SR03S-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK2, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK3, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK4, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK5, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK6, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK7, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK8, "SR03A-VA-VALVE-01:SETADB CA") +} + +record(ai, "SR03S-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03S-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03S-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-01:ADB MS") + field(INPB, "SR03A-VA-VALVE-01:ADB MS") + field(INPC, "SR03A-VA-VALVE-01:ADB MS") + field(INPD, "SR03A-VA-VALVE-01:ADB MS") + field(INPE, "SR03A-VA-VALVE-01:ADB MS") + field(INPF, "SR03A-VA-VALVE-01:ADB MS") + field(INPG, "SR03A-VA-VALVE-01:ADB MS") + field(INPH, "SR03A-VA-VALVE-01:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03S-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03S-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:ILK") + field(INPB, "SR03A-VA-VALVE-01:ILK") + field(INPC, "SR03A-VA-VALVE-01:ILK") + field(INPD, "SR03A-VA-VALVE-01:ILK") + field(INPE, "SR03A-VA-VALVE-01:ILK") + field(INPF, "SR03A-VA-VALVE-01:ILK") + field(INPG, "SR03A-VA-VALVE-01:ILK") + field(INPH, "SR03A-VA-VALVE-01:ILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:INIILK") + field(INPB, "SR03A-VA-VALVE-01:INIILK") + field(INPC, "SR03A-VA-VALVE-01:INIILK") + field(INPD, "SR03A-VA-VALVE-01:INIILK") + field(INPE, "SR03A-VA-VALVE-01:INIILK") + field(INPF, "SR03A-VA-VALVE-01:INIILK") + field(INPG, "SR03A-VA-VALVE-01:INIILK") + field(INPH, "SR03A-VA-VALVE-01:INIILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:RAWILK") + field(INPB, "SR03A-VA-VALVE-01:RAWILK") + field(INPC, "SR03A-VA-VALVE-01:RAWILK") + field(INPD, "SR03A-VA-VALVE-01:RAWILK") + field(INPE, "SR03A-VA-VALVE-01:RAWILK") + field(INPF, "SR03A-VA-VALVE-01:RAWILK") + field(INPG, "SR03A-VA-VALVE-01:RAWILK") + field(INPH, "SR03A-VA-VALVE-01:RAWILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-01:GILK") + field(INPB, "SR03A-VA-VALVE-01:GILK") + field(INPC, "SR03A-VA-VALVE-01:GILK") + field(INPD, "SR03A-VA-VALVE-01:GILK") + field(INPE, "SR03A-VA-VALVE-01:GILK") + field(INPF, "SR03A-VA-VALVE-01:GILK") + field(INPG, "SR03A-VA-VALVE-01:GILK") + field(INPH, "SR03A-VA-VALVE-01:GILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:IMGILK") + field(INPB, "SR03A-VA-VALVE-01:IMGILK") + field(INPC, "SR03A-VA-VALVE-01:IMGILK") + field(INPD, "SR03A-VA-VALVE-01:IMGILK") + field(INPE, "SR03A-VA-VALVE-01:IMGILK") + field(INPF, "SR03A-VA-VALVE-01:IMGILK") + field(INPG, "SR03A-VA-VALVE-01:IMGILK") + field(INPH, "SR03A-VA-VALVE-01:IMGILK") +} + +record(mbbiDirect, "SR03S-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03S-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03S-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-01:PIRGILK") + field(INPB, "SR03A-VA-VALVE-01:PIRGILK") + field(INPC, "SR03A-VA-VALVE-01:PIRGILK") + field(INPD, "SR03A-VA-VALVE-01:PIRGILK") + field(INPE, "SR03A-VA-VALVE-01:PIRGILK") + field(INPF, "SR03A-VA-VALVE-01:PIRGILK") + field(INPG, "SR03A-VA-VALVE-01:PIRGILK") + field(INPH, "SR03A-VA-VALVE-01:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03S-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03S-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03S-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03S-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03S-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03S-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03S-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03S-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03S-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03S-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03S-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03S-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03S-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03S-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03S-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03S-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03S-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03S-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03S-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03S-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03S-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03S-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03S-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03S-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03S-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03S-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03S-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03S-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03S-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03S-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03S-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03S-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03S-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03S-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03S-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03S-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03S-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03S-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03S-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03S-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03S-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03S-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03S-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03S-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03S-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03S-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03S-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03S-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03S-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03S-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03S-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} + + + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) + +################################################################################ +# Control +# +record(mbbo, "SR03A-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03A-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03A-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03A-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03A-VA-GVALV-01:CON") +} + +record(seq, "SR03A-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03A-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03A-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03A-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03A-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03A-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03A-VA-GVALV-01:CON") + field(DOL3, "SR03A-VA-GVALV-01:CON") + field(DOL4, "SR03A-VA-GVALV-01:CON") + field(DOL5, "SR03A-VA-GVALV-01:CON") + field(DOL6, "SR03A-VA-GVALV-01:CON") + field(DOL7, "SR03A-VA-GVALV-01:CON") + field(DOL8, "SR03A-VA-GVALV-01:CON") + field(DOL9, "SR03A-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") + field(DLY9, "5") + field(DLYA, "0") + field(LNK1, "SR03A-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-VALVE-02:CON CA") + field(LNK3, "SR03A-VA-VALVE-03:CON CA") + field(LNK4, "SR03A-VA-VALVE-01:CON CA") + field(LNK5, "SR03A-VA-VALVE-04:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") + field(LNK9, "SR03A-VA-VALVE-02:CON CA") + field(LNKA, "SR03A-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03A-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-VALVE-02:CON CA") + field(LNK2, "SR03A-VA-VALVE-03:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-04:CON CA") + field(LNK5, "SR03A-VA-VALVE-02:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") + field(DLY2, "5") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") +} + +record(seq, "SR03A-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-VALVE-02:CON CA") + field(LNK2, "SR03A-VA-VALVE-03:CON CA") + field(LNK3, "SR03A-VA-VALVE-01:CON CA") + field(LNK4, "SR03A-VA-VALVE-04:CON CA") + field(LNK5, "SR03A-VA-VALVE-02:CON CA") + field(LNK6, "SR03A-VA-VALVE-02:CON CA") + field(LNK7, "SR03A-VA-VALVE-02:CON CA") + field(LNK8, "SR03A-VA-VALVE-02:CON CA") +} + +record(mbbi, "SR03A-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-VALVE-02:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03A-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03A-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03A-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPB, "SR03A-VA-VALVE-03:ILKSTA MS") + field(INPC, "SR03A-VA-VALVE-01:ILKSTA MS") + field(INPD, "SR03A-VA-VALVE-04:ILKSTA MS") + field(INPE, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPF, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPG, "SR03A-VA-VALVE-02:ILKSTA MS") + field(INPH, "SR03A-VA-VALVE-02:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03A-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03A-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03A-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03A-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03A-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03A-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:STA MS") + field(INPB, "SR03A-VA-VALVE-03:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-04:STA MS") + field(INPE, "SR03A-VA-VALVE-02:STA MS") + field(INPF, "SR03A-VA-VALVE-02:STA MS") + field(INPG, "SR03A-VA-VALVE-02:STA MS") + field(INPH, "SR03A-VA-VALVE-02:STA MS") +} + +record(sel, "SR03A-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:STA MS") + field(INPB, "SR03A-VA-VALVE-03:STA MS") + field(INPC, "SR03A-VA-VALVE-01:STA MS") + field(INPD, "SR03A-VA-VALVE-04:STA MS") + field(INPE, "SR03A-VA-VALVE-02:STA MS") + field(INPF, "SR03A-VA-VALVE-02:STA MS") + field(INPG, "SR03A-VA-VALVE-02:STA MS") + field(INPH, "SR03A-VA-VALVE-02:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03A-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03A-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03A-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:OPS MS") + field(INPB, "SR03A-VA-VALVE-03:OPS MS") + field(INPC, "SR03A-VA-VALVE-01:OPS MS") + field(INPD, "SR03A-VA-VALVE-04:OPS MS") + field(INPE, "SR03A-VA-VALVE-02:OPS MS") + field(INPF, "SR03A-VA-VALVE-02:OPS MS") + field(INPG, "SR03A-VA-VALVE-02:OPS MS") + field(INPH, "SR03A-VA-VALVE-02:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03A-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03A-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03A-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:MODE MS") + field(INPB, "SR03A-VA-VALVE-03:MODE MS") + field(INPC, "SR03A-VA-VALVE-01:MODE MS") + field(INPD, "SR03A-VA-VALVE-04:MODE MS") + field(INPE, "SR03A-VA-VALVE-02:MODE MS") + field(INPF, "SR03A-VA-VALVE-02:MODE MS") + field(INPG, "SR03A-VA-VALVE-02:MODE MS") + field(INPH, "SR03A-VA-VALVE-02:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03A-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03A-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03A-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPB, "SR03A-VA-VALVE-03:RAWAIRSTA MS") + field(INPC, "SR03A-VA-VALVE-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-VALVE-04:RAWAIRSTA MS") + field(INPE, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPF, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPG, "SR03A-VA-VALVE-02:RAWAIRSTA MS") + field(INPH, "SR03A-VA-VALVE-02:RAWAIRSTA MS") +} + + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03A-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03A-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03A-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03A-VA-GVALV-01:SETADB") + field(DOL2, "SR03A-VA-GVALV-01:SETADB") + field(DOL3, "SR03A-VA-GVALV-01:SETADB") + field(DOL4, "SR03A-VA-GVALV-01:SETADB") + field(DOL5, "SR03A-VA-GVALV-01:SETADB") + field(DOL6, "SR03A-VA-GVALV-01:SETADB") + field(DOL7, "SR03A-VA-GVALV-01:SETADB") + field(DOL8, "SR03A-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK2, "SR03A-VA-VALVE-03:SETADB CA") + field(LNK3, "SR03A-VA-VALVE-01:SETADB CA") + field(LNK4, "SR03A-VA-VALVE-04:SETADB CA") + field(LNK5, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK6, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK7, "SR03A-VA-VALVE-02:SETADB CA") + field(LNK8, "SR03A-VA-VALVE-02:SETADB CA") +} + +record(ai, "SR03A-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03A-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03A-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-VALVE-02:ADB MS") + field(INPB, "SR03A-VA-VALVE-03:ADB MS") + field(INPC, "SR03A-VA-VALVE-01:ADB MS") + field(INPD, "SR03A-VA-VALVE-04:ADB MS") + field(INPE, "SR03A-VA-VALVE-02:ADB MS") + field(INPF, "SR03A-VA-VALVE-02:ADB MS") + field(INPG, "SR03A-VA-VALVE-02:ADB MS") + field(INPH, "SR03A-VA-VALVE-02:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03A-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03A-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:ILK") + field(INPB, "SR03A-VA-VALVE-03:ILK") + field(INPC, "SR03A-VA-VALVE-01:ILK") + field(INPD, "SR03A-VA-VALVE-04:ILK") + field(INPE, "SR03A-VA-VALVE-02:ILK") + field(INPF, "SR03A-VA-VALVE-02:ILK") + field(INPG, "SR03A-VA-VALVE-02:ILK") + field(INPH, "SR03A-VA-VALVE-02:ILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:INIILK") + field(INPB, "SR03A-VA-VALVE-03:INIILK") + field(INPC, "SR03A-VA-VALVE-01:INIILK") + field(INPD, "SR03A-VA-VALVE-04:INIILK") + field(INPE, "SR03A-VA-VALVE-02:INIILK") + field(INPF, "SR03A-VA-VALVE-02:INIILK") + field(INPG, "SR03A-VA-VALVE-02:INIILK") + field(INPH, "SR03A-VA-VALVE-02:INIILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:RAWILK") + field(INPB, "SR03A-VA-VALVE-03:RAWILK") + field(INPC, "SR03A-VA-VALVE-01:RAWILK") + field(INPD, "SR03A-VA-VALVE-04:RAWILK") + field(INPE, "SR03A-VA-VALVE-02:RAWILK") + field(INPF, "SR03A-VA-VALVE-02:RAWILK") + field(INPG, "SR03A-VA-VALVE-02:RAWILK") + field(INPH, "SR03A-VA-VALVE-02:RAWILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-VALVE-02:GILK") + field(INPB, "SR03A-VA-VALVE-03:GILK") + field(INPC, "SR03A-VA-VALVE-01:GILK") + field(INPD, "SR03A-VA-VALVE-04:GILK") + field(INPE, "SR03A-VA-VALVE-02:GILK") + field(INPF, "SR03A-VA-VALVE-02:GILK") + field(INPG, "SR03A-VA-VALVE-02:GILK") + field(INPH, "SR03A-VA-VALVE-02:GILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:IMGILK") + field(INPB, "SR03A-VA-VALVE-03:IMGILK") + field(INPC, "SR03A-VA-VALVE-01:IMGILK") + field(INPD, "SR03A-VA-VALVE-04:IMGILK") + field(INPE, "SR03A-VA-VALVE-02:IMGILK") + field(INPF, "SR03A-VA-VALVE-02:IMGILK") + field(INPG, "SR03A-VA-VALVE-02:IMGILK") + field(INPH, "SR03A-VA-VALVE-02:IMGILK") +} + +record(mbbiDirect, "SR03A-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03A-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03A-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-VALVE-02:PIRGILK") + field(INPB, "SR03A-VA-VALVE-03:PIRGILK") + field(INPC, "SR03A-VA-VALVE-01:PIRGILK") + field(INPD, "SR03A-VA-VALVE-04:PIRGILK") + field(INPE, "SR03A-VA-VALVE-02:PIRGILK") + field(INPF, "SR03A-VA-VALVE-02:PIRGILK") + field(INPG, "SR03A-VA-VALVE-02:PIRGILK") + field(INPH, "SR03A-VA-VALVE-02:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03A-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03A-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03A-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03A-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03A-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03A-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03A-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03A-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03A-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03A-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03A-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03A-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03A-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03A-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03A-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03A-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03A-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03A-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03A-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03A-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03A-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03A-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03A-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03A-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03A-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03A-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03A-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03A-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03A-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03A-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03A-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03A-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03A-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03A-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03A-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03A-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03A-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03A-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03A-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03A-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03A-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03A-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03A-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03A-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03A-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03A-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03A-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03A-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03A-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03A-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03A-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} + + + +# vacuumValveGroup.template +#% macro, __doc__, Template database for a group of up to 8 vacuum valves +# Pete Owens - 3/5/05 +# +# substitutions: +#% macro, device, device name +#% macro, delay, delay between opening valves +#% macro, valve1, Valve 1 device name +#% macro, valve2, Valve 2 device name +#% macro, valve3, Valve 3 device name +#% macro, valve4, Valve 4 device name +#% macro, valve5, Valve 5 device name +#% macro, valve6, Valve 6 device name +#% macro, valve7, Valve 7 device name +#% macro, valve8, Valve 8 device name +#% macro, mode1, name of remote operational mode (:MODE) +#% macro, mode2, name of local operational mode (:MODE) + +################################################################################ +# Control +# +record(mbbo, "SR03C-VA-GVALV-01:CON") { + field(DESC, "Control") + field(FLNK, "SR03C-VA-GVALV-01:CON1") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +record(bi, "SR03C-VA-GVALV-01:OPENING") { + field(DESC, "Opening Valves") + field(PINI, "YES") + field(INP, "0") + field(ONAM, "Opening") +} + +record(calc, "SR03C-VA-GVALV-01:CON0") { + field(DESC, "CON + 1") + field(CALC, "A+1") + field(INPA, "SR03C-VA-GVALV-01:CON") +} + +record(seq, "SR03C-VA-GVALV-01:CON1") { + field(DESC, "Control Valves") + field(SELM, "Specified") + field(SELL, "SR03C-VA-GVALV-01:CON0 PP") + field(DOL1, "0") + field(LNK1, "SR03C-VA-GVALV-01:SEQOPEN PP") + field(LNK2, "SR03C-VA-GVALV-01:SEQCLOSE PP") + field(LNK3, "SR03C-VA-GVALV-01:SEQRESET PP") +} + +record(seq, "SR03C-VA-GVALV-01:SEQOPEN") { + field(DESC, "Open Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "SR03C-VA-GVALV-01:CON") + field(DOL3, "SR03C-VA-GVALV-01:CON") + field(DOL4, "SR03C-VA-GVALV-01:CON") + field(DOL5, "SR03C-VA-GVALV-01:CON") + field(DOL6, "SR03C-VA-GVALV-01:CON") + field(DOL7, "SR03C-VA-GVALV-01:CON") + field(DOL8, "SR03C-VA-GVALV-01:CON") + field(DOL9, "SR03C-VA-GVALV-01:CON") + field(DOLA, "0") + field(DLY1, "0") + field(DLY2, "0") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") + field(DLY9, "5") + field(DLYA, "0") + field(LNK1, "SR03C-VA-GVALV-01:OPENING PP") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03A-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") + field(LNK9, "SR03S-VA-GVALV-01:CON CA") + field(LNKA, "SR03C-VA-GVALV-01:OPENING PP") +} + +record(seq, "SR03C-VA-GVALV-01:SEQCLOSE") { + field(DESC, "Close Valves") + field(SELM, "All") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(DOL5, "1") + field(DOL6, "1") + field(DOL7, "1") + field(DOL8, "1") + field(LNK1, "SR03A-VA-GVALV-01:CON CA") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03S-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") + field(DLY2, "5") + field(DLY3, "5") + field(DLY4, "5") + field(DLY5, "5") + field(DLY6, "5") + field(DLY7, "5") + field(DLY8, "5") +} + +record(seq, "SR03C-VA-GVALV-01:SEQRESET") { + field(DESC, "Reset Valves") + field(SELM, "All") + field(DOL1, "2") + field(DOL2, "2") + field(DOL3, "2") + field(DOL4, "2") + field(DOL5, "2") + field(DOL6, "2") + field(DOL7, "2") + field(DOL8, "2") + field(LNK1, "SR03A-VA-GVALV-01:CON CA") + field(LNK2, "SR03A-VA-GVALV-01:CON CA") + field(LNK3, "SR03A-VA-GVALV-01:CON CA") + field(LNK4, "SR03A-VA-GVALV-01:CON CA") + field(LNK5, "SR03S-VA-GVALV-01:CON CA") + field(LNK6, "SR03S-VA-GVALV-01:CON CA") + field(LNK7, "SR03S-VA-GVALV-01:CON CA") + field(LNK8, "SR03S-VA-GVALV-01:CON CA") +} + +record(mbbi, "SR03C-VA-GVALV-01:LASTCON") { + field(DESC, "Control Readback") + field(INP, "SR03A-VA-GVALV-01:LASTCON") + field(SCAN, "1 second") + field(ZRST, "Open") + field(ONST, "Close") + field(TWST, "Reset") +} + +################################################################################ +# Interlock Status +# +record(mbbi, "SR03C-VA-GVALV-01:ILKSTA") { + field(DESC, "Interlock Status") + field(INP, "SR03C-VA-GVALV-01:SELILKSTA MS PP") + field(SCAN, "1 second") + field(ZRST, "Failed") + field(ONST, "Run Ilks OK") + field(TWST, "OK") + field(THST, "Disarmed") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") +} + +record(sel, "SR03C-VA-GVALV-01:SELILKSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPB, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPC, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPD, "SR03A-VA-GVALV-01:ILKSTA MS") + field(INPE, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPF, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPG, "SR03S-VA-GVALV-01:ILKSTA MS") + field(INPH, "SR03S-VA-GVALV-01:ILKSTA MS") +} + +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GVALV-01:STA") { + field(DESC, "Status") + field(SCAN, "1 second") + field(INP, "SR03C-VA-GVALV-01:CALSTA PP MS") + field(ZRST, "Fault") + field(ONST, "Open") + field(TWST, "Opening") + field(THST, "Closed") + field(FRST, "Closing") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} + +record(calc, "SR03C-VA-GVALV-01:CALSTA") { + field(DESC, "Calculate Status") + field(CALC, "AC?(B>D?A:B):C)") + field(INPA, "SR03C-VA-GVALV-01:MINSTA PP MS") + field(INPB, "SR03C-VA-GVALV-01:MAXSTA PP MS") + field(INPC, "1") + field(INPD, "4") +} + +record(sel, "SR03C-VA-GVALV-01:MINSTA") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:STA MS") + field(INPB, "SR03A-VA-GVALV-01:STA MS") + field(INPC, "SR03A-VA-GVALV-01:STA MS") + field(INPD, "SR03A-VA-GVALV-01:STA MS") + field(INPE, "SR03S-VA-GVALV-01:STA MS") + field(INPF, "SR03S-VA-GVALV-01:STA MS") + field(INPG, "SR03S-VA-GVALV-01:STA MS") + field(INPH, "SR03S-VA-GVALV-01:STA MS") +} + +record(sel, "SR03C-VA-GVALV-01:MAXSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:STA MS") + field(INPB, "SR03A-VA-GVALV-01:STA MS") + field(INPC, "SR03A-VA-GVALV-01:STA MS") + field(INPD, "SR03A-VA-GVALV-01:STA MS") + field(INPE, "SR03S-VA-GVALV-01:STA MS") + field(INPF, "SR03S-VA-GVALV-01:STA MS") + field(INPG, "SR03S-VA-GVALV-01:STA MS") + field(INPH, "SR03S-VA-GVALV-01:STA MS") +} + +################################################################################ +# Number of Operations +# +record(longin, "SR03C-VA-GVALV-01:OPS") { + field(DESC, "Operations") + field(INP, "SR03C-VA-GVALV-01:SELOPS MS PP") + field(SCAN, "1 second") + field(HOPR, "10000") + field(LOPR, "0") + field(HIHI, "10000") + field(HIGH, "9000") + field(LOW, "0") + field(LOLO, "-1") + field(HHSV, "MAJOR") + field(HSV, "MINOR") + field(LSV, "MINOR") + field(LLSV, "MAJOR") +} + +record(sel, "SR03C-VA-GVALV-01:SELOPS") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:OPS MS") + field(INPB, "SR03A-VA-GVALV-01:OPS MS") + field(INPC, "SR03A-VA-GVALV-01:OPS MS") + field(INPD, "SR03A-VA-GVALV-01:OPS MS") + field(INPE, "SR03S-VA-GVALV-01:OPS MS") + field(INPF, "SR03S-VA-GVALV-01:OPS MS") + field(INPG, "SR03S-VA-GVALV-01:OPS MS") + field(INPH, "SR03S-VA-GVALV-01:OPS MS") +} + +################################################################################ +# Operational/Service Mode +# +record(bi, "SR03C-VA-GVALV-01:MODE") { + field(DESC, "Mode") + field(INP, "SR03C-VA-GVALV-01:SELMODE MS PP") + field(SCAN, "1 second") + field(ZNAM, "Operational") + field(ONAM, "Service") +} + +record(sel, "SR03C-VA-GVALV-01:SELMODE") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:MODE MS") + field(INPB, "SR03A-VA-GVALV-01:MODE MS") + field(INPC, "SR03A-VA-GVALV-01:MODE MS") + field(INPD, "SR03A-VA-GVALV-01:MODE MS") + field(INPE, "SR03S-VA-GVALV-01:MODE MS") + field(INPF, "SR03S-VA-GVALV-01:MODE MS") + field(INPG, "SR03S-VA-GVALV-01:MODE MS") + field(INPH, "SR03S-VA-GVALV-01:MODE MS") +} + +# +# Raw Air Pressure Status, not debounced +# +record(bi, "SR03C-VA-GVALV-01:RAWAIRSTA") { + field(DESC, "Raw Air Pressure Status") + field(INP, "SR03C-VA-GVALV-01:SELRAWAIRSTA MS PP") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZNAM, "Low") + field(ONAM, "Good") +} + +record(sel, "SR03C-VA-GVALV-01:SELRAWAIRSTA") { + field(SELM, "High Signal") + field(INPA, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPB, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPC, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPD, "SR03A-VA-GVALV-01:RAWAIRSTA MS") + field(INPE, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPF, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPG, "SR03S-VA-GVALV-01:RAWAIRSTA MS") + field(INPH, "SR03S-VA-GVALV-01:RAWAIRSTA MS") +} + + +################################################################################ +# Air Pressure De-bounce Time +# +record(ao, "SR03C-VA-GVALV-01:SETADB") { + field(DESC, "De-bounce Time") + field(FLNK, "SR03C-VA-GVALV-01:SEQADB PP") + field(EGU, "s") + field(PREC, "1") + field(DOL, "10.0") + field(PINI, "YES") +} + +record(seq, "SR03C-VA-GVALV-01:SEQADB") { + field(SELM, "All") + field(DOL1, "SR03C-VA-GVALV-01:SETADB") + field(DOL2, "SR03C-VA-GVALV-01:SETADB") + field(DOL3, "SR03C-VA-GVALV-01:SETADB") + field(DOL4, "SR03C-VA-GVALV-01:SETADB") + field(DOL5, "SR03C-VA-GVALV-01:SETADB") + field(DOL6, "SR03C-VA-GVALV-01:SETADB") + field(DOL7, "SR03C-VA-GVALV-01:SETADB") + field(DOL8, "SR03C-VA-GVALV-01:SETADB") + field(LNK1, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK2, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK3, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK4, "SR03A-VA-GVALV-01:SETADB CA") + field(LNK5, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK6, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK7, "SR03S-VA-GVALV-01:SETADB CA") + field(LNK8, "SR03S-VA-GVALV-01:SETADB CA") +} + +record(ai, "SR03C-VA-GVALV-01:ADB") { + field(DESC, "De-bounce Time") + field(INP, "SR03C-VA-GVALV-01:SELADB MS PP") + field(EGU, "s") + field(PREC, "1") + field(SCAN, "1 second") +} + +record(sel, "SR03C-VA-GVALV-01:SELADB") { + field(SELM, "Low Signal") + field(INPA, "SR03A-VA-GVALV-01:ADB MS") + field(INPB, "SR03A-VA-GVALV-01:ADB MS") + field(INPC, "SR03A-VA-GVALV-01:ADB MS") + field(INPD, "SR03A-VA-GVALV-01:ADB MS") + field(INPE, "SR03S-VA-GVALV-01:ADB MS") + field(INPF, "SR03S-VA-GVALV-01:ADB MS") + field(INPG, "SR03S-VA-GVALV-01:ADB MS") + field(INPH, "SR03S-VA-GVALV-01:ADB MS") +} + +################################################################################ +# Interlocks +# +record(mbbiDirect, "SR03C-VA-GVALV-01:ILK") { + field(DESC, "Latched Interlocks") + field(INP, "SR03C-VA-GVALV-01:CALILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:ILK") + field(INPB, "SR03A-VA-GVALV-01:ILK") + field(INPC, "SR03A-VA-GVALV-01:ILK") + field(INPD, "SR03A-VA-GVALV-01:ILK") + field(INPE, "SR03S-VA-GVALV-01:ILK") + field(INPF, "SR03S-VA-GVALV-01:ILK") + field(INPG, "SR03S-VA-GVALV-01:ILK") + field(INPH, "SR03S-VA-GVALV-01:ILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:INIILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALINIILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALINIILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:INIILK") + field(INPB, "SR03A-VA-GVALV-01:INIILK") + field(INPC, "SR03A-VA-GVALV-01:INIILK") + field(INPD, "SR03A-VA-GVALV-01:INIILK") + field(INPE, "SR03S-VA-GVALV-01:INIILK") + field(INPF, "SR03S-VA-GVALV-01:INIILK") + field(INPG, "SR03S-VA-GVALV-01:INIILK") + field(INPH, "SR03S-VA-GVALV-01:INIILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:RAWILK") { + field(DESC, "Raw Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALRAWILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALRAWILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:RAWILK") + field(INPB, "SR03A-VA-GVALV-01:RAWILK") + field(INPC, "SR03A-VA-GVALV-01:RAWILK") + field(INPD, "SR03A-VA-GVALV-01:RAWILK") + field(INPE, "SR03S-VA-GVALV-01:RAWILK") + field(INPF, "SR03S-VA-GVALV-01:RAWILK") + field(INPG, "SR03S-VA-GVALV-01:RAWILK") + field(INPH, "SR03S-VA-GVALV-01:RAWILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:GILK") { + field(DESC, "Gauge Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALGILK") { + field(CALC, "A|B|C|D|E|F|G|H") + field(INPA, "SR03A-VA-GVALV-01:GILK") + field(INPB, "SR03A-VA-GVALV-01:GILK") + field(INPC, "SR03A-VA-GVALV-01:GILK") + field(INPD, "SR03A-VA-GVALV-01:GILK") + field(INPE, "SR03S-VA-GVALV-01:GILK") + field(INPF, "SR03S-VA-GVALV-01:GILK") + field(INPG, "SR03S-VA-GVALV-01:GILK") + field(INPH, "SR03S-VA-GVALV-01:GILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:IMGILK") { + field(DESC, "IMG Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALIMGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALIMGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:IMGILK") + field(INPB, "SR03A-VA-GVALV-01:IMGILK") + field(INPC, "SR03A-VA-GVALV-01:IMGILK") + field(INPD, "SR03A-VA-GVALV-01:IMGILK") + field(INPE, "SR03S-VA-GVALV-01:IMGILK") + field(INPF, "SR03S-VA-GVALV-01:IMGILK") + field(INPG, "SR03S-VA-GVALV-01:IMGILK") + field(INPH, "SR03S-VA-GVALV-01:IMGILK") +} + +record(mbbiDirect, "SR03C-VA-GVALV-01:PIRGILK") { + field(DESC, "Pirani Interlock Status") + field(INP, "SR03C-VA-GVALV-01:CALPIRGILK PP") + field(SCAN, "1 second") +} + +record(calc, "SR03C-VA-GVALV-01:CALPIRGILK") { + field(CALC, "A&B&C&D&E&F&G&H") + field(INPA, "SR03A-VA-GVALV-01:PIRGILK") + field(INPB, "SR03A-VA-GVALV-01:PIRGILK") + field(INPC, "SR03A-VA-GVALV-01:PIRGILK") + field(INPD, "SR03A-VA-GVALV-01:PIRGILK") + field(INPE, "SR03S-VA-GVALV-01:PIRGILK") + field(INPF, "SR03S-VA-GVALV-01:PIRGILK") + field(INPG, "SR03S-VA-GVALV-01:PIRGILK") + field(INPH, "SR03S-VA-GVALV-01:PIRGILK") +} + +################################################################################ +# Individual Interlocks +# +record(bi, "SR03C-VA-GVALV-01:ILK0") { + field(DESC, "Interlock 0") + field(INP, "SR03C-VA-GVALV-01:ILK.B0") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 0") + field(ONAM, "Interlock 0") +} + +record(bi, "SR03C-VA-GVALV-01:ILK1") { + field(DESC, "Interlock 1") + field(INP, "SR03C-VA-GVALV-01:ILK.B1") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 1") + field(ONAM, "Interlock 1") +} + +record(bi, "SR03C-VA-GVALV-01:ILK2") { + field(DESC, "Interlock 2") + field(INP, "SR03C-VA-GVALV-01:ILK.B2") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 2") + field(ONAM, "Interlock 2") +} + +record(bi, "SR03C-VA-GVALV-01:ILK3") { + field(DESC, "Interlock 3") + field(INP, "SR03C-VA-GVALV-01:ILK.B3") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 3") + field(ONAM, "Interlock 3") +} + +record(bi, "SR03C-VA-GVALV-01:ILK4") { + field(DESC, "Interlock 4") + field(INP, "SR03C-VA-GVALV-01:ILK.B4") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 4") + field(ONAM, "Interlock 4") +} + +record(bi, "SR03C-VA-GVALV-01:ILK5") { + field(DESC, "Interlock 5") + field(INP, "SR03C-VA-GVALV-01:ILK.B5") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 5") + field(ONAM, "Interlock 5") +} + +record(bi, "SR03C-VA-GVALV-01:ILK6") { + field(DESC, "Interlock 6") + field(INP, "SR03C-VA-GVALV-01:ILK.B6") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 6") + field(ONAM, "Interlock 6") +} + +record(bi, "SR03C-VA-GVALV-01:ILK7") { + field(DESC, "Interlock 7") + field(INP, "SR03C-VA-GVALV-01:ILK.B7") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 7") + field(ONAM, "Interlock 7") +} + +record(bi, "SR03C-VA-GVALV-01:ILK8") { + field(DESC, "Interlock 8") + field(INP, "SR03C-VA-GVALV-01:ILK.B8") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 8") + field(ONAM, "Interlock 8") +} + +record(bi, "SR03C-VA-GVALV-01:ILK9") { + field(DESC, "Interlock 9") + field(INP, "SR03C-VA-GVALV-01:ILK.B9") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 9") + field(ONAM, "Interlock 9") +} + +record(bi, "SR03C-VA-GVALV-01:ILK10") { + field(DESC, "Interlock 10") + field(INP, "SR03C-VA-GVALV-01:ILK.BA") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 10") + field(ONAM, "Interlock 10") +} + +record(bi, "SR03C-VA-GVALV-01:ILK11") { + field(DESC, "Interlock 11") + field(INP, "SR03C-VA-GVALV-01:ILK.BB") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 11") + field(ONAM, "Interlock 11") +} + +record(bi, "SR03C-VA-GVALV-01:ILK12") { + field(DESC, "Interlock 12") + field(INP, "SR03C-VA-GVALV-01:ILK.BC") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 12") + field(ONAM, "Interlock 12") +} + +record(bi, "SR03C-VA-GVALV-01:ILK13") { + field(DESC, "Interlock 13") + field(INP, "SR03C-VA-GVALV-01:ILK.BD") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 13") + field(ONAM, "Interlock 13") +} + +record(bi, "SR03C-VA-GVALV-01:ILK14") { + field(DESC, "Interlock 14") + field(INP, "SR03C-VA-GVALV-01:ILK.BE") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 14") + field(ONAM, "Interlock 14") +} + +record(bi, "SR03C-VA-GVALV-01:ILK15") { + field(DESC, "Interlock 15") + field(INP, "SR03C-VA-GVALV-01:ILK.BF") + field(SCAN, "1 second") + field(PHAS, "1") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Interlock 15") + field(ONAM, "Interlock 15") +} + + +################################################################################ +# Individual Gauge Interlocks +# +record(mbbiDirect, "SR03C-VA-GVALV-01:GAUGEILK") { + field(DESC, "Combined Gauge Interlock") + field(INP, "SR03C-VA-GVALV-01:CALGILK PP MS") +} + +record(bi, "SR03C-VA-GVALV-01:GILK0") { + field(DESC, "Gauge ILK 0") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 0") + field(ONAM, "Gauge ILK 0") +} + +record(bi, "SR03C-VA-GVALV-01:GILK1") { + field(DESC, "Gauge ILK 1") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 1") + field(ONAM, "Gauge ILK 1") +} + +record(bi, "SR03C-VA-GVALV-01:GILK2") { + field(DESC, "Gauge ILK 2") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 2") + field(ONAM, "Gauge ILK 2") +} + +record(bi, "SR03C-VA-GVALV-01:GILK3") { + field(DESC, "Gauge ILK 3") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 3") + field(ONAM, "Gauge ILK 3") +} + +record(bi, "SR03C-VA-GVALV-01:GILK4") { + field(DESC, "Gauge ILK 4") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 4") + field(ONAM, "Gauge ILK 4") +} + +record(bi, "SR03C-VA-GVALV-01:GILK5") { + field(DESC, "Gauge ILK 5") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 5") + field(ONAM, "Gauge ILK 5") +} + +record(bi, "SR03C-VA-GVALV-01:GILK6") { + field(DESC, "Gauge ILK 6") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 6") + field(ONAM, "Gauge ILK 6") +} + +record(bi, "SR03C-VA-GVALV-01:GILK7") { + field(DESC, "Gauge ILK 7") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 7") + field(ONAM, "Gauge ILK 7") +} + +record(bi, "SR03C-VA-GVALV-01:GILK8") { + field(DESC, "Gauge ILK 8") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 8") + field(ONAM, "Gauge ILK 8") +} + +record(bi, "SR03C-VA-GVALV-01:GILK9") { + field(DESC, "Gauge ILK 9") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 9") + field(ONAM, "Gauge ILK 9") +} + +record(bi, "SR03C-VA-GVALV-01:GILK10") { + field(DESC, "Gauge ILK 10") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 10") + field(ONAM, "Gauge ILK 10") +} + +record(bi, "SR03C-VA-GVALV-01:GILK11") { + field(DESC, "Gauge ILK 11") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 11") + field(ONAM, "Gauge ILK 11") +} + +record(bi, "SR03C-VA-GVALV-01:GILK12") { + field(DESC, "Gauge ILK 12") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 12") + field(ONAM, "Gauge ILK 12") +} + +record(bi, "SR03C-VA-GVALV-01:GILK13") { + field(DESC, "Gauge ILK 13") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 13") + field(ONAM, "Gauge ILK 13") +} + +record(bi, "SR03C-VA-GVALV-01:GILK14") { + field(DESC, "Gauge ILK 14") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 14") + field(ONAM, "Gauge ILK 14") +} + +record(bi, "SR03C-VA-GVALV-01:GILK15") { + field(DESC, "Gauge ILK 15") + field(INP, "SR03C-VA-GVALV-01:GAUGEILK.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(ZNAM, "Gauge ILK 15") + field(ONAM, "Gauge ILK 15") +} + +# mks937aImgGroup.template +# Template database for a group of up to 8 RGAs +# Pete Owens - 13/5/05 +# +# Date Modification +# +# 24 March 2016 Changed method of determining group status, +# Now handled by aSub record :GRPSTAT. +# +# substitutions: +# device - device name +# rga1-8 - names of RGAs in group +################################################################################ +# Head Connected +# +record(stringin, "SR03C-VA-GRGA-01:HEAD") +{ + field(DESC, "Head") + field(INP, "SR03S-VA-RGA-01:HEAD") + field(SCAN, "10 second") +} +################################################################################ +# Head Status +# +record(calc, "SR03C-VA-GRGA-01:STA") +{ + field(DESC, "Overall status") +## field(CALC, "((A>4)&&(A<7)&&(B#1))?0:A") + field(CALC, "A") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-GRGA-01:HEADSTA PP") + field(INPB, "SR03C-VA-GRGA-01:FILSTA PP") + field(INPC, "SR03C-VA-GRGA-01:SEV MS") +} +record(calc, "SR03C-VA-GRGA-01:SEV") +{ + field(DESC, "Persistent Severity") + field(CALC, "(B=3)?((A>999)?1000:(A+1)):0") + field(SCAN, "1 second") + field(INPA, "SR03C-VA-GRGA-01:SEV.VAL") + field(INPB, "SR03C-VA-GRGA-01:HEADSTA.SEVR") + field(HIGH, "30") + field(HIHI, "120") + field(HSV, "MAJOR") + field(HHSV, "INVALID") +} +#% controldesk Head Status smon +record(mbbi, "SR03C-VA-GRGA-01:HEADSTA") +{ + field(DESC, "Head Status") + field(ZRST, "Idle") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") + field(EIST, "Analog 1-200") + field(NIST, "No RGA") + field(UNSV, "MAJOR") + field(ZRSV, "MINOR") + field(ONSV, "MINOR") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MINOR") + field(FVSV, "NO_ALARM") + field(SXSV, "NO_ALARM") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "INVALID") +} + +######################################################################## +# GRPSTAT is a new record in Jan 2016 +# to change the RGA group summary status +# in accordance with Vacuum Group request +# (email from Leslie Lea 8 Jan 2016) +# +# White - if all RGAs in the group are showing white. +# Red - if all RGAs in the group are showing red. +# Red - if there is a mixture of white and red RGAs in the group. +# Green - if one or more RGAs in the group are showing green. +######################################################################## +record(aSub, "SR03C-VA-GRGA-01:GRPSTAT") + { + field(SCAN, "1 second") + field(SNAM, "rgaGroupStatusCalc") + field(INAM, "rgaGroupStatusInit") + field(BRSV, "MINOR") + + field(FTA, "SHORT") + field(FTB, "SHORT") + field(FTC, "SHORT") + field(FTD, "SHORT") + field(FTE, "SHORT") + field(FTF, "SHORT") + field(FTG, "SHORT") + field(FTH, "SHORT") + + field(FTI, "SHORT") + field(FTJ, "SHORT") + field(FTK, "SHORT") + field(FTL, "SHORT") + field(FTM, "SHORT") + field(FTN, "SHORT") + field(FTO, "SHORT") + field(FTP, "SHORT") + + field(FTVA, "SHORT") + + field(INPA, "SR03S-VA-RGA-01:STA MS") + field(INPB, "SR03A-VA-RGA-01:STA MS") + field(INPC, "SR03A-VA-RGA-02:STA MS") + field(INPD, "SR03I-VA-RGA-01:STA MS") + field(INPE, "FE03I-VA-RGA-01:STA MS") + field(INPF, "BL03I-VA-RGA-01:STA MS") + field(INPG, "SR03S-VA-RGA-01:STA MS") + field(INPH, "SR03S-VA-RGA-01:STA MS") + + field(INPI, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(INPJ, "SR03A-VA-RGA-01:HEADSTA.SEVR") + field(INPK, "SR03A-VA-RGA-02:HEADSTA.SEVR") + field(INPL, "SR03I-VA-RGA-01:HEADSTA.SEVR") + field(INPM, "FE03I-VA-RGA-01:HEADSTA.SEVR") + field(INPN, "BL03I-VA-RGA-01:HEADSTA.SEVR") + field(INPO, "SR03S-VA-RGA-01:HEADSTA.SEVR") + field(INPP, "SR03S-VA-RGA-01:HEADSTA.SEVR") + + # Output fields + field(OUTA, "SR03C-VA-GRGA-01:HEADSTA") + } + +################################################# + + +record(sel, "SR03C-VA-GRGA-01:SELSTA") +{ + field(DESC, "Select Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:STA MS") + field(INPB, "SR03A-VA-RGA-01:STA MS") + field(INPC, "SR03A-VA-RGA-02:STA MS") + field(INPD, "SR03I-VA-RGA-01:STA MS") + field(INPE, "FE03I-VA-RGA-01:STA MS") + field(INPF, "BL03I-VA-RGA-01:STA MS") + field(INPG, "SR03S-VA-RGA-01:STA MS") + field(INPH, "SR03S-VA-RGA-01:STA MS") +} +#% controldesk Head Status smon +record(mbbo, "SR03C-VA-GRGA-01:CON") +{ + field(DESC, "Head Status") + field(FLNK, "SR03C-VA-GRGA-01:SEQCON") + field(NOBT, "4") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "5") + field(SXVL, "6") + field(SVVL, "7") + field(EIVL, "8") + field(ZRST, "Stop") + field(ONST, "Local Control") + field(TWST, "Degas Filament") + field(THST, "Cal Faraday") + field(FRST, "Cal Multiplier") + field(FVST, "Barchart 1-50") + field(SXST, "Barchart 1-100") + field(SVST, "Barchart 1-200") +# field(EIST, "Analog 1-200") +} +record(seq, "SR03C-VA-GRGA-01:SEQCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:CON") + field(DOL2, "SR03C-VA-GRGA-01:CON") + field(DOL3, "SR03C-VA-GRGA-01:CON") + field(DOL4, "SR03C-VA-GRGA-01:CON") + field(DOL5, "SR03C-VA-GRGA-01:CON") + field(DOL6, "SR03C-VA-GRGA-01:CON") + field(DOL7, "SR03C-VA-GRGA-01:CON") + field(DOL8, "SR03C-VA-GRGA-01:CON") + field(LNK1, "SR03S-VA-RGA-01:CON CA") + field(LNK2, "SR03A-VA-RGA-01:CON CA") + field(LNK3, "SR03A-VA-RGA-02:CON CA") + field(LNK4, "SR03I-VA-RGA-01:CON CA") + field(LNK5, "FE03I-VA-RGA-01:CON CA") + field(LNK6, "BL03I-VA-RGA-01:CON CA") + field(LNK7, "SR03S-VA-RGA-01:CON CA") + field(LNK8, "SR03S-VA-RGA-01:CON CA") +} +################################################################################ +# Disable Barcharts +# +record(bo, "SR03C-VA-GRGA-01:SEL") +{ + field(DESC, "Select Bars") + field(FLNK, "SR03C-VA-GRGA-01:SEQSEL") + field(VAL, "0") + field(ZNAM, "Selected") + field(ONAM, "All") +} +record(seq, "SR03C-VA-GRGA-01:SEQSEL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SEL") + field(DOL2, "SR03C-VA-GRGA-01:SEL") + field(DOL3, "SR03C-VA-GRGA-01:SEL") + field(DOL4, "SR03C-VA-GRGA-01:SEL") + field(DOL5, "SR03C-VA-GRGA-01:SEL") + field(DOL6, "SR03C-VA-GRGA-01:SEL") + field(DOL7, "SR03C-VA-GRGA-01:SEL") + field(DOL8, "SR03C-VA-GRGA-01:SEL") + field(LNK1, "SR03S-VA-RGA-01:SEL CA") + field(LNK2, "SR03A-VA-RGA-01:SEL CA") + field(LNK3, "SR03A-VA-RGA-02:SEL CA") + field(LNK4, "SR03I-VA-RGA-01:SEL CA") + field(LNK5, "FE03I-VA-RGA-01:SEL CA") + field(LNK6, "BL03I-VA-RGA-01:SEL CA") + field(LNK7, "SR03S-VA-RGA-01:SEL CA") + field(LNK8, "SR03S-VA-RGA-01:SEL CA") +} +record(sel, "SR03C-VA-GRGA-01:DIS200") +{ + field(DESC, "Disable 200") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:DIS200") + field(INPB, "SR03A-VA-RGA-01:DIS200") + field(INPC, "SR03A-VA-RGA-02:DIS200") + field(INPD, "SR03I-VA-RGA-01:DIS200") + field(INPE, "FE03I-VA-RGA-01:DIS200") + field(INPF, "BL03I-VA-RGA-01:DIS200") + field(INPG, "SR03S-VA-RGA-01:DIS200") + field(INPH, "SR03S-VA-RGA-01:DIS200") +} +record(sel, "SR03C-VA-GRGA-01:DIS100") +{ + field(DESC, "Disable 100") + field(SCAN, "1 second") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:DIS100") + field(INPB, "SR03A-VA-RGA-01:DIS100") + field(INPC, "SR03A-VA-RGA-02:DIS100") + field(INPD, "SR03I-VA-RGA-01:DIS100") + field(INPE, "FE03I-VA-RGA-01:DIS100") + field(INPF, "BL03I-VA-RGA-01:DIS100") + field(INPG, "SR03S-VA-RGA-01:DIS100") + field(INPH, "SR03S-VA-RGA-01:DIS100") +} +record(sel, "SR03C-VA-GRGA-01:DIS50") +{ + field(DESC, "Disable 50") + field(SCAN, "1 second") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DIS50") + field(INPB, "SR03A-VA-RGA-01:DIS50") + field(INPC, "SR03A-VA-RGA-02:DIS50") + field(INPD, "SR03I-VA-RGA-01:DIS50") + field(INPE, "FE03I-VA-RGA-01:DIS50") + field(INPF, "BL03I-VA-RGA-01:DIS50") + field(INPG, "SR03S-VA-RGA-01:DIS50") + field(INPH, "SR03S-VA-RGA-01:DIS50") +} +record(sel, "SR03C-VA-GRGA-01:DIS20") +{ + field(DESC, "Disable Select") + field(SCAN, "1 second") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DIS20") + field(INPB, "SR03A-VA-RGA-01:DIS20") + field(INPC, "SR03A-VA-RGA-02:DIS20") + field(INPD, "SR03I-VA-RGA-01:DIS20") + field(INPE, "FE03I-VA-RGA-01:DIS20") + field(INPF, "BL03I-VA-RGA-01:DIS20") + field(INPG, "SR03S-VA-RGA-01:DIS20") + field(INPH, "SR03S-VA-RGA-01:DIS20") +} +################################################################################ +# Current Selected Filament +# +#% controldesk Filament smon +record(bi,"SR03C-VA-GRGA-01:FIL") +{ + field(DESC, "Filament") + field(INP, "SR03S-VA-RGA-01:FIL") + field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +#% controldesk Filament scon +record(bo, "SR03C-VA-GRGA-01:SETFIL") +{ + field(DESC, "Filament") + field(FLNK, "SR03C-VA-GRGA-01:SEQFIL") + field(ZNAM, "Filament 1") + field(ONAM, "Filament 2") +} +record(seq, "SR03C-VA-GRGA-01:SEQFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETFIL") + field(DOL2, "SR03C-VA-GRGA-01:SETFIL") + field(DOL3, "SR03C-VA-GRGA-01:SETFIL") + field(DOL4, "SR03C-VA-GRGA-01:SETFIL") + field(DOL5, "SR03C-VA-GRGA-01:SETFIL") + field(DOL6, "SR03C-VA-GRGA-01:SETFIL") + field(DOL7, "SR03C-VA-GRGA-01:SETFIL") + field(DOL8, "SR03C-VA-GRGA-01:SETFIL") + field(LNK1, "SR03S-VA-RGA-01:SETFIL CA") + field(LNK2, "SR03A-VA-RGA-01:SETFIL CA") + field(LNK3, "SR03A-VA-RGA-02:SETFIL CA") + field(LNK4, "SR03I-VA-RGA-01:SETFIL CA") + field(LNK5, "FE03I-VA-RGA-01:SETFIL CA") + field(LNK6, "BL03I-VA-RGA-01:SETFIL CA") + field(LNK7, "SR03S-VA-RGA-01:SETFIL CA") + field(LNK8, "SR03S-VA-RGA-01:SETFIL CA") +} +################################################################################ +# Filament Status +# +#% controldesk Filament Status smon +record(mbbi, "SR03C-VA-GRGA-01:FILSTA") +{ + field(DESC, "Filament Status") + field(INP, "SR03C-VA-GRGA-01:SELFILSTA PP MS") +# field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZRST, "Off") + field(ONST, "On") + field(TWST, "Warming up") + field(THST, "Cooling Down") + field(FRST, "Failed") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") +} +record(sel, "SR03C-VA-GRGA-01:SELFILSTA") +{ + field(DESC, "Select Filament Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:FILSTA MS") + field(INPB, "SR03A-VA-RGA-01:FILSTA MS") + field(INPC, "SR03A-VA-RGA-02:FILSTA MS") + field(INPD, "SR03I-VA-RGA-01:FILSTA MS") + field(INPE, "FE03I-VA-RGA-01:FILSTA MS") + field(INPF, "BL03I-VA-RGA-01:FILSTA MS") + field(INPG, "SR03S-VA-RGA-01:FILSTA MS") + field(INPH, "SR03S-VA-RGA-01:FILSTA MS") +} +#% controldesk Filament Status scon +record(bo, "SR03C-VA-GRGA-01:FILCON") +{ + field(DESC, "Filament Control") + field(FLNK, "SR03C-VA-GRGA-01:SEQFILCON") + field(ZNAM, "Off") + field(ONAM, "On") +} +record(seq, "SR03C-VA-GRGA-01:SEQFILCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:FILCON") + field(DOL2, "SR03C-VA-GRGA-01:FILCON") + field(DOL3, "SR03C-VA-GRGA-01:FILCON") + field(DOL4, "SR03C-VA-GRGA-01:FILCON") + field(DOL5, "SR03C-VA-GRGA-01:FILCON") + field(DOL6, "SR03C-VA-GRGA-01:FILCON") + field(DOL7, "SR03C-VA-GRGA-01:FILCON") + field(DOL8, "SR03C-VA-GRGA-01:FILCON") + field(LNK1, "SR03S-VA-RGA-01:FILCON CA") + field(LNK2, "SR03A-VA-RGA-01:FILCON CA") + field(LNK3, "SR03A-VA-RGA-02:FILCON CA") + field(LNK4, "SR03I-VA-RGA-01:FILCON CA") + field(LNK5, "FE03I-VA-RGA-01:FILCON CA") + field(LNK6, "BL03I-VA-RGA-01:FILCON CA") + field(LNK7, "SR03S-VA-RGA-01:FILCON CA") + field(LNK8, "SR03S-VA-RGA-01:FILCON CA") +} +################################################################################ +# IMG Interlock Status +# +#% controldesk IMG Interlock smon +record(bi, "SR03C-VA-GRGA-01:ILK") +{ + field(DESC, "IMG Interlock") + field(INP, "SR03C-VA-GRGA-01:SELILK PP") + field(SCAN, "1 second") + field(SDIS, "SR03C-VA-GRGA-01:MODE") + field(ZNAM, "OK") + field(ONAM, "Tripped") + field(ZSV, "NO_ALARM") + field(OSV, "MAJOR") +} +record(sel, "SR03C-VA-GRGA-01:SELILK") +{ + field(DESC, "Select Interlock") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:ILK MS") + field(INPB, "SR03A-VA-RGA-01:ILK MS") + field(INPC, "SR03A-VA-RGA-02:ILK MS") + field(INPD, "SR03I-VA-RGA-01:ILK MS") + field(INPE, "FE03I-VA-RGA-01:ILK MS") + field(INPF, "BL03I-VA-RGA-01:ILK MS") + field(INPG, "SR03S-VA-RGA-01:ILK MS") + field(INPH, "SR03S-VA-RGA-01:ILK MS") +} +################################################################################ +# Multiplier Status +# +#% controldesk Multiplier smon +record(bi,"SR03C-VA-GRGA-01:MLTSTA") +{ + field(DESC, "Multiplier") + field(INP, "SR03C-VA-GRGA-01:SELMLTSTA PP") + field(SCAN, "1 second") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} +record(sel, "SR03C-VA-GRGA-01:SELMLTSTA") +{ + field(DESC, "Select Multiplier Status") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:MLTSTA") + field(INPB, "SR03A-VA-RGA-01:MLTSTA") + field(INPC, "SR03A-VA-RGA-02:MLTSTA") + field(INPD, "SR03I-VA-RGA-01:MLTSTA") + field(INPE, "FE03I-VA-RGA-01:MLTSTA") + field(INPF, "BL03I-VA-RGA-01:MLTSTA") + field(INPG, "SR03S-VA-RGA-01:MLTSTA") + field(INPH, "SR03S-VA-RGA-01:MLTSTA") +} +#% controldesk Multiplier scon +record(bo, "SR03C-VA-GRGA-01:MLTCON") +{ + field(DESC, "Multiplier") + field(FLNK, "SR03C-VA-GRGA-01:SEQMLTCON") + field(ZNAM, "Disable") + field(ONAM, "Enable") +} +record(seq, "SR03C-VA-GRGA-01:SEQMLTCON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:MLTCON") + field(DOL2, "SR03C-VA-GRGA-01:MLTCON") + field(DOL3, "SR03C-VA-GRGA-01:MLTCON") + field(DOL4, "SR03C-VA-GRGA-01:MLTCON") + field(DOL5, "SR03C-VA-GRGA-01:MLTCON") + field(DOL6, "SR03C-VA-GRGA-01:MLTCON") + field(DOL7, "SR03C-VA-GRGA-01:MLTCON") + field(DOL8, "SR03C-VA-GRGA-01:MLTCON") + field(LNK1, "SR03S-VA-RGA-01:MLTCON CA") + field(LNK2, "SR03A-VA-RGA-01:MLTCON CA") + field(LNK3, "SR03A-VA-RGA-02:MLTCON CA") + field(LNK4, "SR03I-VA-RGA-01:MLTCON CA") + field(LNK5, "FE03I-VA-RGA-01:MLTCON CA") + field(LNK6, "BL03I-VA-RGA-01:MLTCON CA") + field(LNK7, "SR03S-VA-RGA-01:MLTCON CA") + field(LNK8, "SR03S-VA-RGA-01:MLTCON CA") +} +################################################################################ +# Scan Mode Status +# +#% controldesk Scan Mode smon +record(bi,"SR03C-VA-GRGA-01:SCAN") +{ + field(DESC, "Scan Mode") + field(INP, "SR03S-VA-RGA-01:SCAN") + field(SCAN, "1 second") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +#% controldesk Scan Mode scon +record(bo, "SR03C-VA-GRGA-01:SETSCAN") +{ + field(DESC, "Scan Mode") + field(FLNK, "SR03C-VA-GRGA-01:SEQSCAN") + field(ZNAM, "Single") + field(ONAM, "Continuous") +} +record(seq, "SR03C-VA-GRGA-01:SEQSCAN") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL2, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL3, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL4, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL5, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL6, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL7, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL8, "SR03C-VA-GRGA-01:SETSCAN") + field(LNK1, "SR03S-VA-RGA-01:SETSCAN CA") + field(LNK2, "SR03A-VA-RGA-01:SETSCAN CA") + field(LNK3, "SR03A-VA-RGA-02:SETSCAN CA") + field(LNK4, "SR03I-VA-RGA-01:SETSCAN CA") + field(LNK5, "FE03I-VA-RGA-01:SETSCAN CA") + field(LNK6, "BL03I-VA-RGA-01:SETSCAN CA") + field(LNK7, "SR03S-VA-RGA-01:SETSCAN CA") + field(LNK8, "SR03S-VA-RGA-01:SETSCAN CA") +} +################################################################################ +# Control Mode Status +# +record(bi,"SR03C-VA-GRGA-01:MODE") +{ + field(DESC, "Scan Mode") + field(SCAN, "1 second") + field(INP, "SR03C-VA-GRGA-01:SELMODE PP") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +record(sel, "SR03C-VA-GRGA-01:SELMODE") +{ + field(DESC, "Select Mode") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:MODE") + field(INPB, "SR03A-VA-RGA-01:MODE") + field(INPC, "SR03A-VA-RGA-02:MODE") + field(INPD, "SR03I-VA-RGA-01:MODE") + field(INPE, "FE03I-VA-RGA-01:MODE") + field(INPF, "BL03I-VA-RGA-01:MODE") + field(INPG, "SR03S-VA-RGA-01:MODE") + field(INPH, "SR03S-VA-RGA-01:MODE") +} +record(bo, "SR03C-VA-GRGA-01:SETMODE") +{ + field(DESC, "Scan Mode") + field(FLNK, "SR03C-VA-GRGA-01:SEQMODE") + field(ZNAM, "Remote") + field(ONAM, "Local") +} +record(seq, "SR03C-VA-GRGA-01:SEQMODE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GRGA-01:SETMODE") + field(DOL2, "SR03C-VA-GRGA-01:SETMODE") + field(DOL3, "SR03C-VA-GRGA-01:SETMODE") + field(DOL4, "SR03C-VA-GRGA-01:SETMODE") + field(DOL5, "SR03C-VA-GRGA-01:SETMODE") + field(DOL6, "SR03C-VA-GRGA-01:SETSCAN") + field(DOL7, "SR03C-VA-GRGA-01:SETMODE") + field(DOL8, "SR03C-VA-GRGA-01:SETMODE") + field(LNK1, "SR03S-VA-RGA-01:SETMODE CA") + field(LNK2, "SR03A-VA-RGA-01:SETMODE CA") + field(LNK3, "SR03A-VA-RGA-02:SETMODE CA") + field(LNK4, "SR03I-VA-RGA-01:SETMODE CA") + field(LNK5, "FE03I-VA-RGA-01:SETMODE CA") + field(LNK6, "BL03I-VA-RGA-01:SETMODE CA") + field(LNK7, "SR03S-VA-RGA-01:SETMODE CA") + field(LNK8, "SR03S-VA-RGA-01:SETMODE CA") +} +################################################################################ +# Is there data to read +# +#% controldesk Data to read smon +record(mbbi, "SR03C-VA-GRGA-01:DATA") +{ + field(DESC, "Data to read") + field(INP, "SR03C-VA-GRGA-01:SELDATA PP") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Barchart 1-50") + field(TWST, "Barchart 1-100") + field(THST, "Barchart 1-200") + field(FRST, "Analog 1-200") + field(UNSV, "NO_ALARM") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") +} +record(sel, "SR03C-VA-GRGA-01:SELDATA") +{ + field(DESC, "Select Data") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DATA") + field(INPB, "SR03A-VA-RGA-01:DATA") + field(INPC, "SR03A-VA-RGA-02:DATA") + field(INPD, "SR03I-VA-RGA-01:DATA") + field(INPE, "FE03I-VA-RGA-01:DATA") + field(INPF, "BL03I-VA-RGA-01:DATA") + field(INPG, "SR03S-VA-RGA-01:DATA") + field(INPH, "SR03S-VA-RGA-01:DATA") +} +################################################################################ +# Date of current scan +# +#% controldesk Date readback +record(stringin, "SR03C-VA-GRGA-01:DATE") +{ + field(DESC, "Date") + field(INP, "SR03S-VA-RGA-01:DATE") + field(SCAN, "1 second") +} +#record(stringin, "SR03C-VA-GRGA-01:YEAR") +#{ +# field(DESC, "Year") +# field(INP, "SR03S-VA-RGA-01:YEAR") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(longin, "SR03C-VA-GRGA-01:MON") +#{ +# field(DESC, "Month") +# field(INP, "SR03S-VA-RGA-01:MON") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +# field(HOPR, "12") +# field(LOPR, "1") +# field(HIGH, "12") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(longin, "SR03C-VA-GRGA-01:DAY") +#{ +# field(DESC, "Day") +# field(INP, "SR03S-VA-RGA-01:DAY") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +# field(HOPR, "31") +# field(LOPR, "1") +# field(HIGH, "31") +# field(LOW, "1") +# field(HSV, "MINOR") +# field(LSV, "MINOR") +#} +#record(stringin, "SR03C-VA-GRGA-01:HOUR") +#{ +# field(DESC, "Hour") +# field(INP, "SR03S-VA-RGA-01:HOUR") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(stringin, "SR03C-VA-GRGA-01:MIN") +#{ +# field(DESC, "Minute") +# field(INP, "SR03S-VA-RGA-01:MIN") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +#record(stringin, "SR03C-VA-GRGA-01:SEC") +#{ +# field(DESC, "Second") +# field(INP, "SR03S-VA-RGA-01:SEC") +# field(SCAN, "1 second") +# field(SDIS, "SR03C-VA-GRGA-01:DIS50") +#} +################################################################################ +# Detector Setting +# +#% controldesk Detector Setting smon +record(mbbi, "SR03C-VA-GRGA-01:DET") +{ + field(DESC, "Detector Setting") + field(INP, "SR03C-VA-GRGA-01:SELDET PP") + field(SCAN, "1 second") + field(ZRST, "No Data") + field(ONST, "Faraday") + field(TWST, "Multiplier") +} +record(sel, "SR03C-VA-GRGA-01:SELDET") +{ + field(DESC, "Select Data") + field(SELM, "Low Signal") + field(INPA, "SR03S-VA-RGA-01:DET") + field(INPB, "SR03A-VA-RGA-01:DET") + field(INPC, "SR03A-VA-RGA-02:DET") + field(INPD, "SR03I-VA-RGA-01:DET") + field(INPE, "FE03I-VA-RGA-01:DET") + field(INPF, "BL03I-VA-RGA-01:DET") + field(INPG, "SR03S-VA-RGA-01:DET") + field(INPH, "SR03S-VA-RGA-01:DET") +} +################################################################################ +# Total Pressure +# +#% controldesk Total Pressure readback +# +record(sel, "SR03C-VA-GRGA-01:TOTP") +{ + field(DESC, "Total Pressure") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:TOTP") + field(INPB, "SR03A-VA-RGA-01:TOTP") + field(INPC, "SR03A-VA-RGA-02:TOTP") + field(INPD, "SR03I-VA-RGA-01:TOTP") + field(INPE, "FE03I-VA-RGA-01:TOTP") + field(INPF, "BL03I-VA-RGA-01:TOTP") + field(INPG, "SR03S-VA-RGA-01:TOTP") + field(INPH, "SR03S-VA-RGA-01:TOTP") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calc, "SR03C-VA-GRGA-01:TOTPLOG") +{ + field(DESC, "Total Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:TOTP") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Sum Partial +# +#% controldesk Sum of Peaks readback +# +record(sel, "SR03C-VA-GRGA-01:SUMP") +{ + field(DESC, "Sum of Peaks") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:SUMP") + field(INPB, "SR03A-VA-RGA-01:SUMP") + field(INPC, "SR03A-VA-RGA-02:SUMP") + field(INPD, "SR03I-VA-RGA-01:SUMP") + field(INPE, "FE03I-VA-RGA-01:SUMP") + field(INPF, "BL03I-VA-RGA-01:SUMP") + field(INPG, "SR03S-VA-RGA-01:SUMP") + field(INPH, "SR03S-VA-RGA-01:SUMP") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(calc, "SR03C-VA-GRGA-01:SUMPLOG") +{ + field(DESC, "Sum of Peaks") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:SUMP") + field(HOPR, "-2") + field(LOPR, "-11") + field(ADEL, "0.025") +} +################################################################################ +# Bar Chart +# +record(sel, "SR03C-VA-GRGA-01:BAR:M1") +{ + field(DESC, "Mass 1") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M1") + field(INPB, "SR03A-VA-RGA-01:BAR:M1") + field(INPC, "SR03A-VA-RGA-02:BAR:M1") + field(INPD, "SR03I-VA-RGA-01:BAR:M1") + field(INPE, "FE03I-VA-RGA-01:BAR:M1") + field(INPF, "BL03I-VA-RGA-01:BAR:M1") + field(INPG, "SR03S-VA-RGA-01:BAR:M1") + field(INPH, "SR03S-VA-RGA-01:BAR:M1") + field(SDIS, "SR03C-VA-GRGA-01:DIS50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk H2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M2") +{ + field(DESC, "H2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M2") + field(INPB, "SR03A-VA-RGA-01:BAR:M2") + field(INPC, "SR03A-VA-RGA-02:BAR:M2") + field(INPD, "SR03I-VA-RGA-01:BAR:M2") + field(INPE, "FE03I-VA-RGA-01:BAR:M2") + field(INPF, "BL03I-VA-RGA-01:BAR:M2") + field(INPG, "SR03S-VA-RGA-01:BAR:M2") + field(INPH, "SR03S-VA-RGA-01:BAR:M2") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +record(sel, "SR03C-VA-GRGA-01:BAR:M3") +{ + field(DESC, "Mass 3") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M3") + field(INPB, "SR03A-VA-RGA-01:BAR:M3") + field(INPC, "SR03A-VA-RGA-02:BAR:M3") + field(INPD, "SR03I-VA-RGA-01:BAR:M3") + field(INPE, "FE03I-VA-RGA-01:BAR:M3") + field(INPF, "BL03I-VA-RGA-01:BAR:M3") + field(INPG, "SR03S-VA-RGA-01:BAR:M3") + field(INPH, "SR03S-VA-RGA-01:BAR:M3") + field(SDIS, "SR03C-VA-GRGA-01:DIS50") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk He readback +record(sel, "SR03C-VA-GRGA-01:BAR:M4") +{ + field(DESC, "He") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M4") + field(INPB, "SR03A-VA-RGA-01:BAR:M4") + field(INPC, "SR03A-VA-RGA-02:BAR:M4") + field(INPD, "SR03I-VA-RGA-01:BAR:M4") + field(INPE, "FE03I-VA-RGA-01:BAR:M4") + field(INPF, "BL03I-VA-RGA-01:BAR:M4") + field(INPG, "SR03S-VA-RGA-01:BAR:M4") + field(INPH, "SR03S-VA-RGA-01:BAR:M4") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH2/N2++ readback +record(sel, "SR03C-VA-GRGA-01:BAR:M14") +{ + field(DESC, "CH2/N2++") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M14") + field(INPB, "SR03A-VA-RGA-01:BAR:M14") + field(INPC, "SR03A-VA-RGA-02:BAR:M14") + field(INPD, "SR03I-VA-RGA-01:BAR:M14") + field(INPE, "FE03I-VA-RGA-01:BAR:M14") + field(INPF, "BL03I-VA-RGA-01:BAR:M14") + field(INPG, "SR03S-VA-RGA-01:BAR:M14") + field(INPH, "SR03S-VA-RGA-01:BAR:M14") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH3 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M15") +{ + field(DESC, "CH3") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M15") + field(INPB, "SR03A-VA-RGA-01:BAR:M15") + field(INPC, "SR03A-VA-RGA-02:BAR:M15") + field(INPD, "SR03I-VA-RGA-01:BAR:M15") + field(INPE, "FE03I-VA-RGA-01:BAR:M15") + field(INPF, "BL03I-VA-RGA-01:BAR:M15") + field(INPG, "SR03S-VA-RGA-01:BAR:M15") + field(INPH, "SR03S-VA-RGA-01:BAR:M15") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CH4 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M16") +{ + field(DESC, "CH4") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M16") + field(INPB, "SR03A-VA-RGA-01:BAR:M16") + field(INPC, "SR03A-VA-RGA-02:BAR:M16") + field(INPD, "SR03I-VA-RGA-01:BAR:M16") + field(INPE, "FE03I-VA-RGA-01:BAR:M16") + field(INPF, "BL03I-VA-RGA-01:BAR:M16") + field(INPG, "SR03S-VA-RGA-01:BAR:M16") + field(INPH, "SR03S-VA-RGA-01:BAR:M16") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk H20 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M18") +{ + field(DESC, "H20") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M18") + field(INPB, "SR03A-VA-RGA-01:BAR:M18") + field(INPC, "SR03A-VA-RGA-02:BAR:M18") + field(INPD, "SR03I-VA-RGA-01:BAR:M18") + field(INPE, "FE03I-VA-RGA-01:BAR:M18") + field(INPF, "BL03I-VA-RGA-01:BAR:M18") + field(INPG, "SR03S-VA-RGA-01:BAR:M18") + field(INPH, "SR03S-VA-RGA-01:BAR:M18") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk N2/CO readback +record(sel, "SR03C-VA-GRGA-01:BAR:M28") +{ + field(DESC, "N2/CO") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M28") + field(INPB, "SR03A-VA-RGA-01:BAR:M28") + field(INPC, "SR03A-VA-RGA-02:BAR:M28") + field(INPD, "SR03I-VA-RGA-01:BAR:M28") + field(INPE, "FE03I-VA-RGA-01:BAR:M28") + field(INPF, "BL03I-VA-RGA-01:BAR:M28") + field(INPG, "SR03S-VA-RGA-01:BAR:M28") + field(INPH, "SR03S-VA-RGA-01:BAR:M28") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk O2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M32") +{ + field(DESC, "O2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M32") + field(INPB, "SR03A-VA-RGA-01:BAR:M32") + field(INPC, "SR03A-VA-RGA-02:BAR:M32") + field(INPD, "SR03I-VA-RGA-01:BAR:M32") + field(INPE, "FE03I-VA-RGA-01:BAR:M32") + field(INPF, "BL03I-VA-RGA-01:BAR:M32") + field(INPG, "SR03S-VA-RGA-01:BAR:M32") + field(INPH, "SR03S-VA-RGA-01:BAR:M32") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk Ar readback +record(sel, "SR03C-VA-GRGA-01:BAR:M40") +{ + field(DESC, "Ar") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M40") + field(INPB, "SR03A-VA-RGA-01:BAR:M40") + field(INPC, "SR03A-VA-RGA-02:BAR:M40") + field(INPD, "SR03I-VA-RGA-01:BAR:M40") + field(INPE, "FE03I-VA-RGA-01:BAR:M40") + field(INPF, "BL03I-VA-RGA-01:BAR:M40") + field(INPG, "SR03S-VA-RGA-01:BAR:M40") + field(INPH, "SR03S-VA-RGA-01:BAR:M40") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CO2 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M44") +{ + field(DESC, "CO2") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M44") + field(INPB, "SR03A-VA-RGA-01:BAR:M44") + field(INPC, "SR03A-VA-RGA-02:BAR:M44") + field(INPD, "SR03I-VA-RGA-01:BAR:M44") + field(INPE, "FE03I-VA-RGA-01:BAR:M44") + field(INPF, "BL03I-VA-RGA-01:BAR:M44") + field(INPG, "SR03S-VA-RGA-01:BAR:M44") + field(INPH, "SR03S-VA-RGA-01:BAR:M44") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +#% controldesk CF3/C5H9 readback +record(sel, "SR03C-VA-GRGA-01:BAR:M69") +{ + field(DESC, "CF3/C5H9") + field(SELM, "High Signal") + field(INPA, "SR03S-VA-RGA-01:BAR:M69") + field(INPB, "SR03A-VA-RGA-01:BAR:M69") + field(INPC, "SR03A-VA-RGA-02:BAR:M69") + field(INPD, "SR03I-VA-RGA-01:BAR:M69") + field(INPE, "FE03I-VA-RGA-01:BAR:M69") + field(INPF, "BL03I-VA-RGA-01:BAR:M69") + field(INPG, "SR03S-VA-RGA-01:BAR:M69") + field(INPH, "SR03S-VA-RGA-01:BAR:M69") + field(SDIS, "SR03C-VA-GRGA-01:DIS20") + field(EGU, "mbar") + field(PREC, "3") + field(HOPR, "0.01") + field(LOPR, "0") +} +################################################################################ +# Log of Bar Chart +# +record(calc, "SR03C-VA-GRGA-01:LOG:M1") +{ + field(DESC, "Mass 1") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M1 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M2") +{ + field(DESC, "H2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M2 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M3") +{ + field(DESC, "Mass 3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M3 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M4") +{ + field(DESC, "He") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M4 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M14") +{ + field(DESC, "CH2/N2++") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M14 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M15") +{ + field(DESC, "CH3") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M15 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M16") +{ + field(DESC, "CH4") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M16 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M18") +{ + field(DESC, "H20") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M18 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M28") +{ + field(DESC, "N2/CO") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M28 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M32") +{ + field(DESC, "O2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M32 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M40") +{ + field(DESC, "Ar") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M40 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M44") +{ + field(DESC, "CO2") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M44 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calc, "SR03C-VA-GRGA-01:LOG:M69") +{ + field(DESC, "CF3/C5H9") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-GRGA-01:BAR:M69 PP") + field(SCAN, "10 second") + field(HOPR, "-2") + field(LOPR, "-11") +} +################################################################################ + +#record(stringin, "SR03C-VA-GRGA-01:EDLFILE") +# { +# field(DESC, "EDL filename") +# } + +#record(aSub, "SR03C-VA-GRGA-01:DBGET") +# { +# field(SCAN, "Passive") +# field(SNAM, "dbLookupCalc") +# field(INAM, "dbLookupInit") +# +# field(FTA, "SHORT") +# field(FTB, "SHORT") +# field(FTC, "SHORT") +# field(FTD, "SHORT") +# field(FTE, "SHORT") +# field(FTF, "SHORT") +# field(FTG, "SHORT") +# field(FTH, "SHORT") +# +# field(FTVA, "STRING") +# +# field(INPA, "2") +# +# # Output fields +# field(OUTA, "SR03C-VA-GRGA-01:EDLFILE PP") +# }# digitelMpcTspGroup.db +#% macro, __doc__, Template database for a group of up to 8 digitel MPC TSPs +# Pete Owens - 11/4/05 +# +# substitutions: +#% macro, device, device name +# % macro, tsp1, TSP 1 device name +# % macro, tsp2, TSP 2 device name +# % macro, tsp3, TSP 3 device name +# % macro, tsp4, TSP 4 device name +# % macro, tsp5, TSP 5 device name +# % macro, tsp6, TSP 6 device name +# % macro, tsp7, TSP 7 device name +# % macro, tsp8, TSP 8 device name +################################################################################ +# Status +# +record(mbbi, "SR03C-VA-GTSP-01:STA") +{ + field(DESC, "Status") + field(INP, "SR03C-VA-GTSP-01:MAXSTA PP MS") + field(SCAN, "1 second") + field(ZRST, "Unknown") + field(ONST, "Off") + field(TWST, "Ramping") + field(THST, "Firing") + field(FRST, "Armed") + field(FVST, "Pressure Intlk") + field(SXST, "No Interlock") + field(SVST, "Degas") + field(EIST, "Auto Config") + field(NIST, "Re-Sync") + field(TEST, "Disconnected") + field(ELST, "Invalid") + field(TVST, "Invalid") + field(TTST, "Invalid") + field(FTST, "Invalid") + field(FFST, "Invalid") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "NO_ALARM") + field(FVSV, "MINOR") + field(SXSV, "MINOR") + field(SVSV, "NO_ALARM") + field(EISV, "NO_ALARM") + field(NISV, "NO_ALARM") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:MAXSTA") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:STA MS") + field(INPB, "SR03I-VA-TSP-01:STA MS") + field(INPC, "SR03I-VA-TSP-01:STA MS") + field(INPD, "SR03I-VA-TSP-02:STA MS") + field(INPE, "SR03I-VA-TSP-02:STA MS") + field(INPF, "SR03I-VA-TSP-02:STA MS") + field(INPG, "SR03I-VA-TSP-02:STA MS") + field(INPH, "SR03I-VA-TSP-02:STA MS") +} +################################################################################ +# Filament Status +# +#% controldesk Filament 1 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL1:STA") +{ + field(DESC, "Filament 1 Status") + field(INP, "SR03C-VA-GTSP-01:FIL1:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL1:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL1:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL1:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL1:STA MS") +} +# +#% controldesk Filament 2 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL2:STA") +{ + field(DESC, "Filament 2 Status") + field(INP, "SR03C-VA-GTSP-01:FIL2:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL2:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL2:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL2:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL2:STA MS") +} +# +#% controldesk Filament 3 Status smon +# +record(mbbi, "SR03C-VA-GTSP-01:FIL3:STA") +{ + field(DESC, "Filament 3 Status") + field(INP, "SR03C-VA-GTSP-01:FIL3:MAX PP MS") + field(ZRST, "Not Installed") + field(ONST, "Inactive") + field(TWST, "Next Active") + field(THST, "Active Firing") + field(FRST, "Open") + field(FVST, "Low Level") + field(UNSV, "MAJOR") + field(ZRSV, "MAJOR") + field(ONSV, "NO_ALARM") + field(TWSV, "NO_ALARM") + field(THSV, "NO_ALARM") + field(FRSV, "MAJOR") + field(FVSV, "MINOR") + field(SXSV, "MAJOR") + field(SVSV, "MAJOR") + field(EISV, "MAJOR") + field(NISV, "MAJOR") + field(TESV, "MAJOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +record(sel, "SR03C-VA-GTSP-01:FIL3:MAX") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPB, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPC, "SR03I-VA-TSP-01:FIL3:STA MS") + field(INPD, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPE, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPF, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPG, "SR03I-VA-TSP-02:FIL3:STA MS") + field(INPH, "SR03I-VA-TSP-02:FIL3:STA MS") +} +################################################################################ +# Power +# +#% controldesk Power smon +# +record(ai, "SR03C-VA-GTSP-01:POWER") +{ + field(DESC, "Power") + field(INP, "SR03C-VA-GTSP-01:MAXPOWER PP MS") + field(SCAN, "1 second") + field(EGU, "W") + field(LOPR, "0.0") + field(HOPR, "500.0") + field(PREC, "0") +} +record(sel, "SR03C-VA-GTSP-01:MAXPOWER") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:POWER MS") + field(INPB, "SR03I-VA-TSP-01:POWER MS") + field(INPC, "SR03I-VA-TSP-01:POWER MS") + field(INPD, "SR03I-VA-TSP-02:POWER MS") + field(INPE, "SR03I-VA-TSP-02:POWER MS") + field(INPF, "SR03I-VA-TSP-02:POWER MS") + field(INPG, "SR03I-VA-TSP-02:POWER MS") + field(INPH, "SR03I-VA-TSP-02:POWER MS") +} +record(ao, "SR03C-VA-GTSP-01:SETPOWER") +{ + field(DESC, "Power") + field(FLNK, "SR03C-VA-GTSP-01:SEQPOWER") + field(EGU, "W") + field(DRVL, "0") + field(DRVH, "250") + field(LOPR, "0") + field(HOPR, "250") + field(PREC, "0") + field(DOL, "190") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQPOWER") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL2, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL3, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL4, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL5, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL6, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL7, "SR03C-VA-GTSP-01:SETPOWER") + field(DOL8, "SR03C-VA-GTSP-01:SETPOWER") + field(LNK1, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK2, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK3, "SR03I-VA-TSP-01:SETPOWER CA") + field(LNK4, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK5, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK6, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK7, "SR03I-VA-TSP-02:SETPOWER CA") + field(LNK8, "SR03I-VA-TSP-02:SETPOWER CA") +} +record(ao, "SR03C-VA-GTSP-01:RAMPRATE") +{ + field(DESC, "Power Ramp Rate") + field(FLNK, "SR03C-VA-GTSP-01:SEQRAMP") + field(EGU, "W/s") + field(DRVL, "10") + field(DRVH, "50") + field(LOPR, "10") + field(HOPR, "50") + field(PREC, "0") + field(DOL, "25") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQRAMP") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL2, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL3, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL4, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL5, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL6, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL7, "SR03C-VA-GTSP-01:RAMPRATE") + field(DOL8, "SR03C-VA-GTSP-01:RAMPRATE") + field(LNK1, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK2, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK3, "SR03I-VA-TSP-01:RAMPRATE CA") + field(LNK4, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK5, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK6, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK7, "SR03I-VA-TSP-02:RAMPRATE CA") + field(LNK8, "SR03I-VA-TSP-02:RAMPRATE CA") +} +################################################################################ +# TSP operating mode +# +record(mbbi, "SR03C-VA-GTSP-01:MODE") +{ + field(DESC, "Operating Mode") + field(INP, "SR03C-VA-GTSP-01:MAXMODE PP MS") + field(SCAN, "1 second") + field(ZRST, "Off") + field(ONST, "Timed") + field(TWST, "Continuous") + field(THST, "Degas") +} +record(sel, "SR03C-VA-GTSP-01:MAXMODE") +{ + field(SELM, "High Signal") + field(INPA, "SR03I-VA-TSP-01:MODE MS") + field(INPB, "SR03I-VA-TSP-01:MODE MS") + field(INPC, "SR03I-VA-TSP-01:MODE MS") + field(INPD, "SR03I-VA-TSP-02:MODE MS") + field(INPE, "SR03I-VA-TSP-02:MODE MS") + field(INPF, "SR03I-VA-TSP-02:MODE MS") + field(INPG, "SR03I-VA-TSP-02:MODE MS") + field(INPH, "SR03I-VA-TSP-02:MODE MS") +} +record(mbbo, "SR03C-VA-GTSP-01:SETMODE") +{ + field(DESC, "Operating Mode") + field(FLNK, "SR03C-VA-GTSP-01:SEQMODE") + field(ZRST, "Off") + field(ONST, "Timed") + field(TWST, "Continuous") + field(THST, "Degas") + field(DOL, "0") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQMODE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETMODE") + field(DOL2, "SR03C-VA-GTSP-01:SETMODE") + field(DOL3, "SR03C-VA-GTSP-01:SETMODE") + field(DOL4, "SR03C-VA-GTSP-01:SETMODE") + field(DOL5, "SR03C-VA-GTSP-01:SETMODE") + field(DOL6, "SR03C-VA-GTSP-01:SETMODE") + field(DOL7, "SR03C-VA-GTSP-01:SETMODE") + field(DOL8, "SR03C-VA-GTSP-01:SETMODE") + field(LNK1, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK2, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK3, "SR03I-VA-TSP-01:SETMODE CA") + field(LNK4, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK5, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK6, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK7, "SR03I-VA-TSP-02:SETMODE CA") + field(LNK8, "SR03I-VA-TSP-02:SETMODE CA") +} +################################################################################ +# TSP operating mode - Off +# +################################################################################ +# TSP operating mode - Timed +# +# controldesk Timed Mode On Time setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMONTIME") +{ + field(DESC, "Timed On Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMON") + field(EGU, "s") + field(DRVL, "10") + field(DRVH, "120") + field(LOPR, "10") + field(HOPR, "120") + field(PREC, "0") + field(DOL, "60") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL2, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL3, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL4, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL5, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL6, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL7, "SR03C-VA-GTSP-01:TIMONTIME") + field(DOL8, "SR03C-VA-GTSP-01:TIMONTIME") + field(LNK1, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK2, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK3, "SR03I-VA-TSP-01:TIMONTIME CA") + field(LNK4, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK5, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK6, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK7, "SR03I-VA-TSP-02:TIMONTIME CA") + field(LNK8, "SR03I-VA-TSP-02:TIMONTIME CA") +} +# +#% controldesk Timed Mode Off Time setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMOFFTIME") +{ + field(DESC, "Timed Off Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMOFF") + field(EGU, "min") + field(DRVL, "1") + field(DRVH, "600") + field(LOPR, "1") + field(HOPR, "600") + field(PREC, "0") + field(DOL, "60") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMOFF") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL2, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL3, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL4, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL5, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL6, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL7, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(DOL8, "SR03C-VA-GTSP-01:TIMOFFTIME") + field(LNK1, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK2, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK3, "SR03I-VA-TSP-01:TIMOFFTIME CA") + field(LNK4, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK5, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK6, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK7, "SR03I-VA-TSP-02:TIMOFFTIME CA") + field(LNK8, "SR03I-VA-TSP-02:TIMOFFTIME CA") +} +# +#% controldesk Timed Mode Cycles setpoint +# +record(ao, "SR03C-VA-GTSP-01:TIMCYCLES") +{ + field(DESC, "Timed Cycles") + field(FLNK, "SR03C-VA-GTSP-01:SEQTIMCYCL") + field(DRVL, "1") + field(DRVH, "20") + field(LOPR, "1") + field(HOPR, "20") + field(PREC, "0") + field(DOL, "10") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQTIMCYCL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL2, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL3, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL4, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL5, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL6, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL7, "SR03C-VA-GTSP-01:TIMCYCLES") + field(DOL8, "SR03C-VA-GTSP-01:TIMCYCLES") + field(LNK1, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK2, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK3, "SR03I-VA-TSP-01:TIMCYCLES CA") + field(LNK4, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK5, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK6, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK7, "SR03I-VA-TSP-02:TIMCYCLES CA") + field(LNK8, "SR03I-VA-TSP-02:TIMCYCLES CA") +} +################################################################################ +# TSP operating mode - Degas +# +record(ao, "SR03C-VA-GTSP-01:DGSONTIME") +{ + field(DESC, "Degas On Time") + field(FLNK, "SR03C-VA-GTSP-01:SEQDGSON") + field(EGU, "s") + field(DRVL, "10") + field(DRVH, "180") + field(LOPR, "10") + field(HOPR, "180") + field(PREC, "0") + field(DOL, "90") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQDGSON") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL2, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL3, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL4, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL5, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL6, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL7, "SR03C-VA-GTSP-01:DGSONTIME") + field(DOL8, "SR03C-VA-GTSP-01:DGSONTIME") + field(LNK1, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK2, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK3, "SR03I-VA-TSP-01:DGSONTIME CA") + field(LNK4, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK5, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK6, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK7, "SR03I-VA-TSP-02:DGSONTIME CA") + field(LNK8, "SR03I-VA-TSP-02:DGSONTIME CA") +} +################################################################################ +# TSP operating mode - Continuous +# +################################################################################ +# Filament active (for timed mode) +# +record(mbbi, "SR03C-VA-GTSP-01:FIL") +{ + field(DESC, "Filament Active") + field(INP, "SR03I-VA-TSP-01:FIL") + field(SCAN, "1 second") + field(ZRST, "Filament 1") + field(ONST, "Filament 2") + field(TWST, "Filament 3") +# field(THST, "Filament 4") +} +record(mbbo, "SR03C-VA-GTSP-01:SETFIL") +{ + field(DESC, "Filament Active") + field(FLNK, "SR03C-VA-GTSP-01:SEQFIL") + field(ZRST, "Filament 1") + field(ONST, "Filament 2") + field(TWST, "Filament 3") +# field(THST, "Filament 4") +} +record(seq, "SR03C-VA-GTSP-01:SEQFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETFIL") + field(DOL2, "SR03C-VA-GTSP-01:SETFIL") + field(DOL3, "SR03C-VA-GTSP-01:SETFIL") + field(DOL4, "SR03C-VA-GTSP-01:SETFIL") + field(DOL5, "SR03C-VA-GTSP-01:SETFIL") + field(DOL6, "SR03C-VA-GTSP-01:SETFIL") + field(DOL7, "SR03C-VA-GTSP-01:SETFIL") + field(DOL8, "SR03C-VA-GTSP-01:SETFIL") + field(LNK1, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK2, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK3, "SR03I-VA-TSP-01:SETFIL CA") + field(LNK4, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK5, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK6, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK7, "SR03I-VA-TSP-02:SETFIL CA") + field(LNK8, "SR03I-VA-TSP-02:SETFIL CA") +} +################################################################################ +# TSP status +# Just takes status of SR03I-VA-TSP-01 +# +record(longin, "SR03C-VA-GTSP-01:LEFT") +{ + field(DESC, "Cycles Left") + field(INP, "SR03I-VA-TSP-01:LEFT") + field(SCAN, "1 second") + field(LOPR, "0") + field(HOPR, "999") +} +record(longin, "SR03C-VA-GTSP-01:FIL1:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL1:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL2:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL2:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL3:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL3:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +record(longin, "SR03C-VA-GTSP-01:FIL4:USED") +{ + field(DESC, "Minutes used") + field(INP, "SR03I-VA-TSP-01:FIL4:USED MS") + field(SCAN, "10 second") + field(EGU, "min") + field(LOPR, "0") + field(HOPR, "9999") +} +################################################################################ +# Clear filaments +# +record(bo, "SR03C-VA-GTSP-01:CLEAR") +{ + field(DESC, "Clear Filaments") + field(FLNK, "SR03C-VA-GTSP-01:SEQCLEAR") + field(ZNAM, "Clear") + field(ONAM, "Clear") +} +record(seq, "SR03C-VA-GTSP-01:SEQCLEAR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:CLEAR") + field(DOL2, "SR03C-VA-GTSP-01:CLEAR") + field(DOL3, "SR03C-VA-GTSP-01:CLEAR") + field(DOL4, "SR03C-VA-GTSP-01:CLEAR") + field(DOL5, "SR03C-VA-GTSP-01:CLEAR") + field(DOL6, "SR03C-VA-GTSP-01:CLEAR") + field(DOL7, "SR03C-VA-GTSP-01:CLEAR") + field(DOL8, "SR03C-VA-GTSP-01:CLEAR") + field(LNK1, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK2, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK3, "SR03I-VA-TSP-01:CLEAR CA") + field(LNK4, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK5, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK6, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK7, "SR03I-VA-TSP-02:CLEAR CA") + field(LNK8, "SR03I-VA-TSP-02:CLEAR CA") +} +################################################################################ +# Automatically Advance Filaments +# +record(bo, "SR03C-VA-GTSP-01:SETAUTOFIL") +{ + field(DESC, "Auto Advance") + field(FLNK, "SR03C-VA-GTSP-01:SEQAUTOFIL") + field(ZNAM, "No") + field(ONAM, "Yes") + field(DOL, "0") + field(PINI, "YES") +} +record(seq, "SR03C-VA-GTSP-01:SEQAUTOFIL") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL2, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL3, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL4, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL5, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL6, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL7, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(DOL8, "SR03C-VA-GTSP-01:SETAUTOFIL") + field(LNK1, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK2, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK3, "SR03I-VA-TSP-01:SETAUTOFIL CA") + field(LNK4, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK5, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK6, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK7, "SR03I-VA-TSP-02:SETAUTOFIL CA") + field(LNK8, "SR03I-VA-TSP-02:SETAUTOFIL CA") +} +################################################################################ +# Pressure Threshhold +# +record(mbbo, "SR03C-VA-GTSP-01:CTLSRC") +{ + field(DESC, "Control Source") + field(FLNK, "SR03C-VA-GTSP-01:SEQCTLSRC") + field(ZRST, "Service") + field(ONST, "Ion Pump 1") + field(TWST, "Ion Pump 2") + field(DOL, "1") +} +record(seq, "SR03C-VA-GTSP-01:SEQCTLSRC") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL2, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL3, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL4, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL5, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL6, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL7, "SR03C-VA-GTSP-01:CTLSRC") + field(DOL8, "SR03C-VA-GTSP-01:CTLSRC") + field(LNK1, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK2, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK3, "SR03I-VA-TSP-01:CTLSRC CA") + field(LNK4, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK5, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK6, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK7, "SR03I-VA-TSP-02:CTLSRC CA") + field(LNK8, "SR03I-VA-TSP-02:CTLSRC CA") +} +record(ao, "SR03C-VA-GTSP-01:SETUPPERPTHR") +{ + field(DESC, "Pressure Threshold") + field(FLNK, "SR03C-VA-GTSP-01:SEQUPPERPTHR") + field(EGU, "mbar") + field(DRVL, "1.0e-12") + field(DRVH, "1.0e-5") + field(LOPR, "0.0") + field(HOPR, "1.0e-5") + field(PREC, "1") + field(DOL, "1.0e-8") + field(PINI, "YES") +} + + +record(seq, "SR03C-VA-GTSP-01:SEQUPPERPTHR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL2, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL3, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL4, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL5, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL6, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL7, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(DOL8, "SR03C-VA-GTSP-01:SETUPPERPTHR") + field(LNK1, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK2, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK3, "SR03I-VA-TSP-01:SETUPPERPTHR CA") + field(LNK4, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK5, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK6, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK7, "SR03I-VA-TSP-02:SETUPPERPTHR CA") + field(LNK8, "SR03I-VA-TSP-02:SETUPPERPTHR CA") +} + +record(ao, "SR03C-VA-GTSP-01:SETLOWERPTHR") +{ + field(DESC, "Pressure Threshold") + field(FLNK, "SR03C-VA-GTSP-01:SEQLOWERPTHR") + field(EGU, "mbar") + field(DRVL, "1.0e-12") + field(DRVH, "1.0e-5") + field(LOPR, "0.0") + field(HOPR, "1.0e-5") + field(PREC, "1") + field(DOL, "1.0e-8") + field(PINI, "YES") +} + + +record(seq, "SR03C-VA-GTSP-01:SEQLOWERPTHR") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL2, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL3, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL4, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL5, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL6, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL7, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(DOL8, "SR03C-VA-GTSP-01:SETLOWERPTHR") + field(LNK1, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK2, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK3, "SR03I-VA-TSP-01:SETLOWERPTHR CA") + field(LNK4, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK5, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK6, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK7, "SR03I-VA-TSP-02:SETLOWERPTHR CA") + field(LNK8, "SR03I-VA-TSP-02:SETLOWERPTHR CA") +} +################################################################################ + + +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(aSub, "SR03S-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03S-VA-MIMG-01:STA PP") + field(OUTB, "SR03S-VA-MIMG-01:P PP") + field(OUTC, "SR03S-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03S-VA-MIMG-01:PMIN PP") + field(INPA, "2") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03S-VA-IMG-01:P") + field(INPE, "SR03S-VA-IMG-01:P") + field(INPF, "SR03S-VA-IMG-01:P") + field(INPG, "SR03S-VA-IMG-01:P") + field(INPH, "SR03S-VA-IMG-01:P") + field(INPI, "SR03S-VA-IMG-01:P") + field(INPJ, "SR03S-VA-IMG-01:P") + field(INPK, "SR03S-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03S-VA-IMG-01:STA") + field(INPO, "SR03S-VA-IMG-01:STA") + field(INPP, "SR03S-VA-IMG-01:STA") + field(INPQ, "SR03S-VA-IMG-01:STA") + field(INPR, "SR03S-VA-IMG-01:STA") + field(INPS, "SR03S-VA-IMG-01:STA") + field(INPT, "SR03S-VA-IMG-01:STA") + field(INPU, "SR03S-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03S-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03S-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:P.ADEL") + field(INPA, "SR03S-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03S-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03S-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03S-VA-MIMG-01:P MS") + field(INPB, "SR03S-VA-MIMG-01:I PP MS") +} +record(calc, "SR03S-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(aSub, "SR03A-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03A-VA-MIMG-01:STA PP") + field(OUTB, "SR03A-VA-MIMG-01:P PP") + field(OUTC, "SR03A-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03A-VA-MIMG-01:PMIN PP") + field(INPA, "4") + field(INPB, "SR03A-VA-IMG-01:P") + field(INPC, "SR03A-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-03:P") + field(INPE, "SR03A-VA-IMG-04:P") + field(INPF, "SR03A-VA-IMG-01:P") + field(INPG, "SR03A-VA-IMG-01:P") + field(INPH, "SR03A-VA-IMG-01:P") + field(INPI, "SR03A-VA-IMG-01:P") + field(INPJ, "SR03S-VA-IMG-01:P") + field(INPK, "SR03S-VA-IMG-01:P") + field(INPL, "SR03A-VA-IMG-01:STA") + field(INPM, "SR03A-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-03:STA") + field(INPO, "SR03A-VA-IMG-04:STA") + field(INPP, "SR03A-VA-IMG-01:STA") + field(INPQ, "SR03A-VA-IMG-01:STA") + field(INPR, "SR03A-VA-IMG-01:STA") + field(INPS, "SR03A-VA-IMG-01:STA") + field(INPT, "SR03S-VA-IMG-01:STA") + field(INPU, "SR03S-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03A-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03A-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03A-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03A-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03A-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:P.ADEL") + field(INPA, "SR03A-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03A-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03A-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03A-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03A-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03A-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03A-VA-MIMG-01:P MS") + field(INPB, "SR03A-VA-MIMG-01:I PP MS") +} +record(calc, "SR03A-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(aSub, "SR03C-VA-MIMG-01:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03C-VA-MIMG-01:STA PP") + field(OUTB, "SR03C-VA-MIMG-01:P PP") + field(OUTC, "SR03C-VA-MIMG-01:PMAX PP") + field(OUTD, "SR03C-VA-MIMG-01:PMIN PP") + field(INPA, "9") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-01:P") + field(INPE, "SR03A-VA-IMG-02:P") + field(INPF, "SR03A-VA-IMG-03:P") + field(INPG, "SR03A-VA-IMG-04:P") + field(INPH, "SR03I-VA-IMG-01:P") + field(INPI, "SR03I-VA-IMG-02:P") + field(INPJ, "SR03I-VA-IMG-03:P") + field(INPK, "SR03A-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-01:STA") + field(INPO, "SR03A-VA-IMG-02:STA") + field(INPP, "SR03A-VA-IMG-03:STA") + field(INPQ, "SR03A-VA-IMG-04:STA") + field(INPR, "SR03I-VA-IMG-01:STA") + field(INPS, "SR03I-VA-IMG-02:STA") + field(INPT, "SR03I-VA-IMG-03:STA") + field(INPU, "SR03A-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03C-VA-MIMG-01:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03C-VA-MIMG-01:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03C-VA-MIMG-01:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03C-VA-MIMG-01:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03C-VA-MIMG-01:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:P.ADEL") + field(INPA, "SR03C-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03C-VA-MIMG-01:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:PMAX.ADEL") + field(INPA, "SR03C-VA-MIMG-01:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03C-VA-MIMG-01:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03C-VA-MIMG-01:PMIN.ADEL") + field(INPA, "SR03C-VA-MIMG-01:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03C-VA-MIMG-01:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03C-VA-MIMG-01:P MS") + field(INPB, "SR03C-VA-MIMG-01:I PP MS") +} +record(calc, "SR03C-VA-MIMG-01:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ +# mks937aImgMean.template +#% macro, __doc__, Template database to calculate the mean pressure from a +# number of IMGs +# Pete Owens - 26/6/06 +# +# substitutions: +#% macro, device, device name +#% macro, current, beam current +#% macro, nimgs, number of gauges +#% macro, img1, img 1 device name +#% macro, img2, img 2 device name +#% macro, img3, img 3 device name +#% macro, img4, img 4 device name +#% macro, img5, img 5 device name +#% macro, img6, img 6 device name +#% macro, img7, img 7 device name +#% macro, img8, img 8 device name +#% macro, img9, img 9 device name +#% macro, img10, img 10 device name + +################################################################################ +# Mean Pressure +# +#% archiver 1 Monitor +# +record(aSub, "SR03S-VA-MIMG-02:MEAN") +{ + field(DESC, "Mean Pressure") + field(INAM, "mks937aMeanInit") + field(SNAM, "mks937aMeanCalc") + field(EFLG, "ON CHANGE") + field(SCAN, "1 second") + field(PHAS, "2") + field(OUTA, "SR03S-VA-MIMG-02:STA PP") + field(OUTB, "SR03S-VA-MIMG-02:P PP") + field(OUTC, "SR03S-VA-MIMG-02:PMAX PP") + field(OUTD, "SR03S-VA-MIMG-02:PMIN PP") + field(INPA, "9") + field(INPB, "SR03S-VA-IMG-01:P") + field(INPC, "SR03S-VA-IMG-02:P") + field(INPD, "SR03A-VA-IMG-01:P") + field(INPE, "SR03A-VA-IMG-02:P") + field(INPF, "SR02A-VA-IMG-13:P") + field(INPG, "SR02A-VA-IMG-14:P") + field(INPH, "SR03I-VA-IMG-01:P") + field(INPI, "SR03I-VA-IMG-02:P") + field(INPJ, "SR03I-VA-IMG-03:P") + field(INPK, "SR03A-VA-IMG-01:P") + field(INPL, "SR03S-VA-IMG-01:STA") + field(INPM, "SR03S-VA-IMG-02:STA") + field(INPN, "SR03A-VA-IMG-01:STA") + field(INPO, "SR03A-VA-IMG-02:STA") + field(INPP, "SR02A-VA-IMG-13:STA") + field(INPQ, "SR02A-VA-IMG-14:STA") + field(INPR, "SR03I-VA-IMG-01:STA") + field(INPS, "SR03I-VA-IMG-02:STA") + field(INPT, "SR03I-VA-IMG-03:STA") + field(INPU, "SR03A-VA-IMG-01:STA") + field(FTVA, "LONG") + field(FTVB, "DOUBLE") + field(FTVC, "DOUBLE") + field(FTVD, "DOUBLE") + field(FTA, "LONG") + field(FTB, "DOUBLE") + field(FTC, "DOUBLE") + field(FTD, "DOUBLE") + field(FTE, "DOUBLE") + field(FTF, "DOUBLE") + field(FTG, "DOUBLE") + field(FTH, "DOUBLE") + field(FTI, "DOUBLE") + field(FTJ, "DOUBLE") + field(FTK, "DOUBLE") + field(FTL, "LONG") + field(FTM, "LONG") + field(FTN, "LONG") + field(FTO, "LONG") + field(FTP, "LONG") + field(FTQ, "LONG") + field(FTR, "LONG") + field(FTS, "LONG") + field(FTT, "LONG") + field(FTU, "LONG") +} + +################################################################################ +# Status +# +#% archiver 1 Monitor +# +record(mbbi, "SR03S-VA-MIMG-02:STA") +{ + field(DESC, "Status") + field(ZRST, "OK") + field(ONST, "OK") + field(TWST, "Above Range") + field(THST, "At Atmosphere") + field(FRST, "Low Emission") + field(FVST, "Filament Off") + field(SXST, "HV Off") + field(SVST, "Startup Delay") + field(EIST, "Below Range") + field(NIST, "Controlled") + field(TEST, "Protected State") + field(ELST, "No Gauge") + field(TVST, "Not Connected") + field(TTST, "Wrong Gauge") + field(FTST, "Bad Command") + field(FFST, "Locked Out") + field(UNSV, "MAJOR") + field(ZRSV, "NO_ALARM") + field(ONSV, "NO_ALARM") + field(TWSV, "MINOR") + field(THSV, "MINOR") + field(FRSV, "MAJOR") + field(FVSV, "MAJOR") + field(SXSV, "MAJOR") + field(SVSV, "MINOR") + field(EISV, "NO_ALARM") + field(NISV, "MINOR") + field(TESV, "MINOR") + field(ELSV, "MAJOR") + field(TVSV, "MAJOR") + field(TTSV, "MAJOR") + field(FTSV, "MAJOR") + field(FFSV, "MAJOR") +} +################################################################################ +# Pressure +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:P") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PLOG") +{ + field(DESC, "log Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PDYN") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:P") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:PMAX") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PMAXLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PMAXLOG") +{ + field(DESC, "log max Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:PMAX") + field(HOPR, "-2") + field(LOPR, "-11") +} +# +#% archiver 1 Monitor +# +record(ai, "SR03S-VA-MIMG-02:PMIN") +{ + field(DESC, "Pressure") + field(FLNK, "SR03S-VA-MIMG-02:PMINLOG") + field(EGU, "mbar") + field(PREC, "11") + field(HOPR, "0.01") + field(LOPR, "1.0E-11") +} +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PMINLOG") +{ + field(DESC, "log min Pressure") + field(EGU, "log") + field(CALC, "LOG(A)") + field(INPA, "SR03S-VA-MIMG-02:PMIN") + field(HOPR, "-2") + field(LOPR, "-11") +} +record(calcout, "SR03S-VA-MIMG-02:ADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:P.ADEL") + field(INPA, "SR03S-VA-MIMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-02:PMAXADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:PMAX.ADEL") + field(INPA, "SR03S-VA-MIMG-02:P") + field(INPB, "20") + field(SCAN, "10 second") +} +record(calcout, "SR03S-VA-MIMG-02:PMINADEL") +{ + field(DESC, "deadband") + field(CALC, "A/B") + field(OUT, "SR03S-VA-MIMG-02:PMIN.ADEL") + field(INPA, "SR03S-VA-MIMG-02:PMIN") + field(INPB, "20") + field(SCAN, "10 second") +} +################################################################################ +# Dynamic Pressure +# +#% archiver 1 Monitor +# +record(calc, "SR03S-VA-MIMG-02:PDYN") +{ + field(DESC, "Dynamic Pressure") + field(EGU, "mbar/mA") + field(CALC, "A/B") + field(INPA, "SR03S-VA-MIMG-02:P MS") + field(INPB, "SR03S-VA-MIMG-02:I PP MS") +} +record(calc, "SR03S-VA-MIMG-02:I") +{ + field(DESC, "Beam Current") + field(EGU, "mA") + field(CALC, "MAX(A,B)") + field(INPA, "SR-DI-DCCT-01:SIGNAL MS") + field(INPB, "0.999") + field(LOW, "1.1") + field(LOLO, "1.0") + field(LSV, "MINOR") + field(LLSV, "INVALID") +} +################################################################################ + +# NX102_digitalIn.template +#% macro, __doc__, Template database for reading inputs from a word +# temperature PLC. +#% macro, name, name +#% macro, device, PV prefix +#% macro, port, port name of ether_ip driver +#% macro, tag, etherip tag +#% macro, tagidx, tag index + + +# Template to read a word along with the mechanism to read descriptions from the PLC +# Assumes the following structure: +# Digital_In.Raw[1] - Raw bits +# Digital_In.B00_Desc[1] - String describing bit + + + +# % gui, DIG_01, edm, NX102_readWord.edl, device=SR03C-VA-VLVCC-01:DIGITAL01, type=BIT, desc=Digital_In + + +record(ai, "SR03C-VA-VLVCC-01:DIGITAL01:HASDEBOUNCE") { + field(VAL, "0") + field(PINI, "YES") +} + + +# Individual bits +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0") { + field(DESC, "bit 0") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1") { + field(DESC, "bit 1") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2") { + field(DESC, "bit 2") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3") { + field(DESC, "bit 3") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4") { + field(DESC, "bit 4") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5") { + field(DESC, "bit 5") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6") { + field(DESC, "bit 6") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7") { + field(DESC, "bit 7") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8") { + field(DESC, "bit 8") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9") { + field(DESC, "bit 9") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10") { + field(DESC, "bit 10") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11") { + field(DESC, "bit 11") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12") { + field(DESC, "bit 12") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13") { + field(DESC, "bit 13") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14") { + field(DESC, "bit 14") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15") { + field(DESC, "bit 15") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + + +# % archiver 10 Monitor +# % controldesk Current bit Status smon +record(mbbiDirect, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT") { + field(DESC, "Current Bits") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.Raw[1] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# +# This record allows scanning of all the individual interlock stringin +# :DESC records to be disabled. It is initialised to Enabled and does +# NOT control the way the data is read once only at boot time. +# It was useful during development and testing. +# +record(bo, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") { + field(SCAN, "Passive") + field(PINI, "YES") + field(DTYP, "Soft Channel") + field(VAL, "1") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} + +# Records for reading back the bit descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") { + field(DESC, "Description of bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B00_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") { + field(DESC, "Description of bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B01_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") { + field(DESC, "Description of bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B02_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") { + field(DESC, "Description of bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B03_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") { + field(DESC, "Description of bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B04_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") { + field(DESC, "Description of bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B05_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") { + field(DESC, "Description of bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B06_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") { + field(DESC, "Description of bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B07_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") { + field(DESC, "Description of bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B08_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") { + field(DESC, "Description of bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B09_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") { + field(DESC, "Description of bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B10_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") { + field(DESC, "Description of bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B11_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") { + field(DESC, "Description of bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B12_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") { + field(DESC, "Description of bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B13_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") { + field(DESC, "Description of bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B14_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") { + field(DESC, "Description of bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B15_Desc[1] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL01:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT00:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT0.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT01:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT1.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT02:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT2.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT03:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT3.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT04:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT4.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT05:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT5.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT06:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT6.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT07:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT7.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT08:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT8.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT09:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT9.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT10.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT11.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT12.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT13.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT14.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL01:BIT15.ONAM") +} + + +# NX102_digitalIn.template +#% macro, __doc__, Template database for reading inputs from a word +# temperature PLC. +#% macro, name, name +#% macro, device, PV prefix +#% macro, port, port name of ether_ip driver +#% macro, tag, etherip tag +#% macro, tagidx, tag index + + +# Template to read a word along with the mechanism to read descriptions from the PLC +# Assumes the following structure: +# Digital_In.Raw[2] - Raw bits +# Digital_In.B00_Desc[2] - String describing bit + + + +# % gui, DIG_02, edm, NX102_readWord.edl, device=SR03C-VA-VLVCC-01:DIGITAL02, type=BIT, desc=Digital_In + + +record(ai, "SR03C-VA-VLVCC-01:DIGITAL02:HASDEBOUNCE") { + field(VAL, "0") + field(PINI, "YES") +} + + +# Individual bits +# The ZNAM and ONAM fields of these records are initialised +# by PINI processing of :DESC and :FAN records. +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0") { + field(DESC, "bit 0") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B0 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1") { + field(DESC, "bit 1") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B1 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2") { + field(DESC, "bit 2") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B2 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3") { + field(DESC, "bit 3") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B3 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4") { + field(DESC, "bit 4") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B4 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5") { + field(DESC, "bit 5") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B5 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6") { + field(DESC, "bit 6") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B6 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7") { + field(DESC, "bit 7") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B7 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8") { + field(DESC, "bit 8") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B8 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9") { + field(DESC, "bit 9") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.B9 CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10") { + field(DESC, "bit 10") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BA CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11") { + field(DESC, "bit 11") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BB CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12") { + field(DESC, "bit 12") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BC CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13") { + field(DESC, "bit 13") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BD CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14") { + field(DESC, "bit 14") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BE CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + +record(bi, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15") { + field(DESC, "bit 15") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT.BF CP MS") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") +} + + +# % archiver 10 Monitor +# % controldesk Current bit Status smon +record(mbbiDirect, "SR03C-VA-VLVCC-01:DIGITAL02:RAWBIT") { + field(DESC, "Current Bits") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.Raw[2] B 0") + field(SCAN, ".5 second") + field(NOBT, "16") +} + +# +# This record allows scanning of all the individual interlock stringin +# :DESC records to be disabled. It is initialised to Enabled and does +# NOT control the way the data is read once only at boot time. +# It was useful during development and testing. +# +record(bo, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") { + field(SCAN, "Passive") + field(PINI, "YES") + field(DTYP, "Soft Channel") + field(VAL, "1") + field(ZNAM, "Disabled") + field(ONAM, "Enabled") +} + +# Records for reading back the bit descriptions from the PLC. +# +# ether_ip S Flag +# The S 0 is the ether_ip Scan rate flag with rate time value zero, +# meaning the value will not be polled by the ether_ip driver. This +# is a DLS modification to the ether_ip driver. The data will be read +# once only. +# +# ether_ip E Flag +# The second flag is the ether_ip Element flag E, which tells the +# driver not to amalgamate requests for the same type of data i.e. to +# read a single element and not an array. +# +# The record will process once at boot time because of the PINI flag +# and the data will be read once because of the S 0 flag. However +# processing the record again will NOT cause the data to be read again +# because of the peculiarities of the ether_ip driver. The command +# drvEtherIP_restart must be issued on the IOC console to force it to +# be read again (or reboot the IOC). +# +# See under "Implemented Changes" heading on "ether_ip Support Module" +# page in Controls Confluence space. https://confluence.diamond.ac.uk/x/DIbSBw +# +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") { + field(DESC, "Description of bit 0") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B00_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") { + field(DESC, "Description of bit 1") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B01_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") { + field(DESC, "Description of bit 2") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B02_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") { + field(DESC, "Description of bit 3") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B03_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") { + field(DESC, "Description of bit 4") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B04_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") { + field(DESC, "Description of bit 5") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B05_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") { + field(DESC, "Description of bit 6") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B06_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") { + field(DESC, "Description of bit 7") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B07_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") { + field(DESC, "Description of bit 8") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B08_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") { + field(DESC, "Description of bit 9") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B09_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") { + field(DESC, "Description of bit 10") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B10_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") { + field(DESC, "Description of bit 11") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B11_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") { + field(DESC, "Description of bit 12") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B12_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") { + field(DESC, "Description of bit 13") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B13_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") { + field(DESC, "Description of bit 14") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B14_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:FAN") +} + +record(stringin, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") { + field(DESC, "Description of bit 15") + field(SCAN, "I/O Intr") + field(PINI, "YES") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP Digital_In.B15_Desc[2] S 0 E") + field(SDIS, "SR03C-VA-VLVCC-01:DIGITAL02:STRING_ENABLED") + field(DISV, "0") + field(FLNK, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:FAN") +} + +# Records to fanout the value of the interlock label strings read back +# from the PLC in the :DESC records to the labels on the individual +# interlock records for both states. +# +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT00:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT0.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT01:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT1.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT02:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT2.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT03:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT3.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT04:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT4.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT05:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT5.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT06:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT6.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT07:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT7.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT08:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT8.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT09:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT9.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT10.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT11.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT12.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT13.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT14.ONAM") +} + +record(sseq, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:FAN") { + field(DOL1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") + field(LNK1, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15.ZNAM") + field(DOL2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15:DESC") + field(LNK2, "SR03C-VA-VLVCC-01:DIGITAL02:BIT15.ONAM") +} + + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description + +# This associates an edm screen with the template +# % gui, VAFAN_01, edmembed, bi_embed.edl, P=SR03C-VA-FANC-01,R=:STA + +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-01:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B0 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 01 Fan Status") +} + + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description + +# This associates an edm screen with the template +# % gui, VAFAN_02, edmembed, bi_embed.edl, P=SR03C-VA-FANC-02,R=:STA + +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-02:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B1 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 02 Fan Status") +} + + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description + +# This associates an edm screen with the template +# % gui, VAFAN_03, edmembed, bi_embed.edl, P=SR03C-VA-FANC-03,R=:STA + +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-FANC-03:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B2 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 03 Fan Status") +} + + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description + +# This associates an edm screen with the template +# % gui, VAPSU_01, edmembed, bi_embed.edl, P=SR03C-VA-PSU-01,R=:STA + +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-PSU-01:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B3 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 01 Duplex PSU Status") +} + + +# % macro, P, Device Prefix +# % macro, R, Device Suffix +# % macro, DTYP, Device Type +# % macro, INP, Input link +# % macro, SCAN, Scan Rate +# % macro, ZNAM, Name for zero state +# % macro, ONAM, Name for one state +# % macro, ZSV, optional macro to allow zero state alarm severity to be set. +# % macro, OSV, optional macro to allow one state alarm severity to be set. +# % macro, COSV, optional macro to allow change of state alarm severity to be set. +# % macro, DESC, Description +# % macro, archiver_rate, archiver rate +# % macro, name, Object name and gui association name +# % macro, gda_name, GDA Name +# % macro, gda_desc, GDA Description + +# This associates an edm screen with the template +# % gui, VAPSU_02, edmembed, bi_embed.edl, P=SR03C-VA-PSU-02,R=:STA + +# % gdatag,template,simpleBinary,, +# % gdatag,binary,ro,,RECORD +# % archiver 3600 Monitor +record(bi, "SR03C-VA-PSU-02:STA") { + field(DTYP, "Soft Channel") + field(INP, "SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B4 CP") + field(SCAN, "Passive") + field(ZNAM, "FAIL") + field(ONAM, "HEALTHY") + field(ZSV, "MAJOR") + field(OSV, "NO_ALARM") + field(COSV, "") + field(DESC, "Rack 02 Duplex PSU Status") +} + + + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# + +# This associates BOY screens with the template +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-01:1 +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-01:1 +# % gui, PSU01.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-01:1 + +# This associates an edm screen with the template +# % gui, PSU01.1, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-01:1 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:1:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[1]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-01:1:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} + +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:1:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[1]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[1]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[1]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[1]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[1]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-01:1:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[1]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-01:1:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[1]") + field(ASLO, "0.1") + field(PREC, "1") +} + + + + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# + +# This associates BOY screens with the template +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-01:2 +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-01:2 +# % gui, PSU01.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-01:2 + +# This associates an edm screen with the template +# % gui, PSU01.2, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-01:2 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:2:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[2]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-01:2:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} + +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-01:2:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[2]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[2]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[2]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[2]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[2]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-01:2:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[2]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-01:2:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[2]") + field(ASLO, "0.1") + field(PREC, "1") +} + + + + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# + +# This associates BOY screens with the template +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-02:1 +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-02:1 +# % gui, PSU02.1, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-02:1 + +# This associates an edm screen with the template +# % gui, PSU02.1, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-02:1 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:1:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[3]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-02:1:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} + +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:1:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[3]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[3]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[3]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[3]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[3]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-02:1:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[3]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-02:1:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[3]") + field(ASLO, "0.1") + field(PREC, "1") +} + + + + +# % macro, __doc__, Template showing the status of the power supply from the ether IP readings +# % macro, device, device prefix +# % macro, port, port name of ether_ip driver +# % macro, tag, NX PLC tag string e.g. PSU (from PSU.Voltage[1]) +# % macro, tagidx, NX PLC tag index number e.g. 1 (from PSU.Voltage[1]) +#% macro, name, Object name and associated gui name +# + +# This associates BOY screens with the template +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_standalone.opi, device=SR03C-VA-PSU-02:2 +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed_box.opi, device=SR03C-VA-PSU-02:2 +# % gui, PSU02.2, boyembed, dlsPLCApp_opi/NX102_powerSupply_embed.opi, device=SR03C-VA-PSU-02:2 + +# This associates an edm screen with the template +# % gui, PSU02.2, edm, NX102_powerSupply.edl, device=SR03C-VA-PSU-02:2 +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:2:PSU:VOLTAGE") { + field(DESC, "EtherIP Power Supply Voltage") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Voltage[4]") + field(EGU, "V") + field(ASLO, "0.01") + field(PREC, "2") +} + +#record(mbbiDirect, "SR03C-VA-PSU-02:2:PSU:STATUS") { +# field(DESC, "EtherIP Power Supply Status") +# field(SCAN, "1 second") +# field(DTYP, "EtherIP") +# field(NOBT, "16") +# field(INP, "@VLVCC_01_EIP PSU.Status.W[0]") +#} + +#% archiver 1 monitor +record(ai, "SR03C-VA-PSU-02:2:PSU:CURRENT") { + field(DESC, "EtherIP Power Supply Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Current[4]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:YEARS:LEFT") { + field(DESC, "EtherIP Power Supply Years Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Years_Left[4]") + field(EGU, "Yrs") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:PERCENT:LEFT") { + field(DESC, "EtherIP Power Supply Percent Left") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Percent_Left[4]") + field(EGU, "%") + field(ASLO, "0.1") + field(PREC, "1") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:PCURRENT") { + field(DESC, "EtherIP Power Supply Peak Current") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Peak_Current[4]") + field(EGU, "A") + field(ASLO, "0.01") + field(PREC, "2") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:TOTAL:RUNTIME") { + field(DESC, "EtherIP Power Supply Total Run Time") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Total_Run_Time[4]") + field(EGU, "hrs") +} + +record(ai, "SR03C-VA-PSU-02:2:PSU:CONT:RUNTIME") { + field(DESC, "EtherIP Power Supply Continuous Runtime") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Continuous_Run_Time[4]") + field(EGU, "mins") +} + +#% archiver 60 Scan +record(ai, "SR03C-VA-PSU-02:2:PSU:TEMPERATURE") { + field(DESC, "EtherIP Power Supply Temperature") + field(SCAN, "1 second") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP PSU.Temperature[4]") + field(ASLO, "0.1") + field(PREC, "1") +} + + +# NX102_readBool.template +#% macro, __doc__, Template database for reading a bool from and NX PLC +#% macro, name, Object name and gui association name +#% macro, P, PV prefix +#% macro, desc, Description +#% macro, port, Port name of ether_ip driver +#% macro, tag, Tag name of ether_ip read value +#% macro, scan, Record scan rate +#% macro, onam, ONAM +#% macro, znam, ZNAM + +# Logic is as follows to match old implementation: +# Initial Run IRVAC +# 1 1 0 (Both OK) +# 0 1 2 (Initial Failed) +# 0 0 3 (Both Failed) + +record(bi, "SR03A-VA-VALVE-01:IVAC") { + field(DESC, "Initial Vacuum") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(ONAM, "On") + field(ZNAM, "Off") + field(INP, "@VLVCC_01_EIP Initial_Vacuum") +} + +record(bi, "SR03A-VA-VALVE-01:RVAC") { + field(DESC, "Run Vacuum") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(ONAM, "On") + field(ZNAM, "Off") + field(INP, "@VLVCC_01_EIP Run_Vacuum") +} + +record(calc, "SR03A-VA-VALVE-01:IRVAC") { + field(DESC, "description") + field(CALC, "(!a*2)+(!b*1)") + field(INPA, "SR03A-VA-VALVE-01:IVAC CP") + field(INPB, "SR03A-VA-VALVE-01:RVAC CP") +}#% macro, __doc__, Template that reads 100 blocks of memory into records so +# that it can be used in various templates. +# % macro, device, Device prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, tagidx, Index for the eip tags +# % macro, em, em number in PLC +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 + +# Triggers the waveform read when PLC sets Data_Ready to 1 +record(ai, "SR03C-VA-VFAST-01:DATA_READY") { + field(DTYP, "EtherIP") + field(SCAN, ".1 second") + field(INP, "@VLVCC_01_EIP FVA.Data_Ready[0] S .2") +} + +record(calcout, "SR03C-VA-VFAST-01:TRIGGER_READ") { + field(CALC, "a") + field(INPA, "SR03C-VA-VFAST-01:DATA_READY CP") + field(OOPT, "Transition To Non-zero") + field(OUT, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW.PROC PP") +} + +###################################################### +# Timestamp records +# Timestamp in seconds from PLC +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW") { + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Capture_Time[0] S .2") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP_US_RAW PP") + alias("SR03C-VA-VFAST-01:TRIGGER") +} + + + +# Timestamp in milliseconds from PLC +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP_US_RAW") { + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Capture_Time_us[0] S .2") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP_CALC PP") +} + +# Concatenate timestamp in seconds and milliseconds to create time in float +# Subtract offset between EPICS epoch (1990) and UNIX epoch (1970) +record(calc, "SR03C-VA-VFAST-01:TIMESTAMP_CALC") { + field(DESC, "description") + field(CALC, "(a+(b/1000000))-c") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW") + field(INPB, "SR03C-VA-VFAST-01:TIMESTAMP_US_RAW") + # POSIX_TIME_AT_EPICS_EPOCH + field(C, "631152000") + field(FLNK,"SR03C-VA-VFAST-01:TIMESTAMP PP") +} + +# This record sets its timestamp to its input via devSetTimeStamp +record(ai, "SR03C-VA-VFAST-01:TIMESTAMP") +{ + field(DTYP, "Set Timestamp") + field(INP, "SR03C-VA-VFAST-01:TIMESTAMP_CALC ") + field(TSE, "-2") + field(FLNK,"SR03C-VA-VFAST-01:TIME_RES PP") +} + +# Sample interval from PLC in ms +# % archiver 60 Monitor +record(ai, "SR03C-VA-VFAST-01:TIME_RES") { + field(DESC, "Sample interval from PLC in ms") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Resolution[0] S .2") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(FLNK,"SR03C-VA-VFAST-01:PRE_SAMPLES PP") +} + +# Number of samples in the data that take place before +# the trigger and timestamp +# % archiver 60 Monitor +record(ai, "SR03C-VA-VFAST-01:PRE_SAMPLES") { + field(DESC, "Number of samples before trigger") + field(DTYP, "EtherIP") + field(INP, "@VLVCC_01_EIP FVA.Pre_Samples[0] S .2") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + #field(VAL, "500") + field(FLNK,"SR03C-VA-VFAST-01:FAN PP") +} + +# Place holder for linking records +record(fanout, "SR03C-VA-VFAST-01:FAN") { + field(LNK1, "SR03C-VA-VFAST-01:FAN_01 PP") + field(LNK2, "SR03C-VA-VFAST-01:FAN_02 PP") + field(FLNK, "SR03C-VA-VFAST-01:DATA_READY_CLEAR PP") +} +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { +} +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { +} + +# Clear the Data_Ready in the PLC to indicate the data has been read +record(calcout, "SR03C-VA-VFAST-01:DATA_READY_CLEAR") { + field(CALC, "0") + field(OUT, "SR03C-VA-VFAST-01:DATA_READY_CLEAR_W PP") +} + +record(ao, "SR03C-VA-VFAST-01:DATA_READY_CLEAR_W") { + field(DTYP, "EtherIP") + field(OUT, "@VLVCC_01_EIP FVA.Data_Ready[0] S .2") +} + + +# Records to display in the GUI the timestamp +# Used during commissioning to verify the PLC is sending the correct time +record(aSub, "SR03C-VA-VFAST-01:PLC_TS_CONVERT") { + field(SNAM, "plcTSConverter") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_S_RAW CP") + field(FTA, "LONG") + field(FTVA, "STRING") + field(OUTA, "SR03C-VA-VFAST-01:PLC_TS_STR PP") +} +record(stringout, "SR03C-VA-VFAST-01:PLC_TS_STR") { +} + +record(calc, "SR03C-VA-VFAST-01:TIMESTAMP_INV_CALC") { + field(DESC, "description") + field(CALC, "a+b") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP CP CP") + # POSIX_TIME_AT_EPICS_EPOCH + field(B, "631152000") +} +record(aSub, "SR03C-VA-VFAST-01:EPICS_TS_CONVERT") { + field(SNAM, "plcTSConverter") + field(INPA, "SR03C-VA-VFAST-01:TIMESTAMP_INV_CALC CP") + field(FTA, "LONG") + field(FTVA, "STRING") + field(OUTA, "SR03C-VA-VFAST-01:EPICS_TS_STR PP") +} +record(stringout, "SR03C-VA-VFAST-01:EPICS_TS_STR") { +} + +# # Global PVs to configure the system +# record(ao, "SR03C-VA-VFAST-01:HYST_MULTI") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:HYST_MULTI_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[0]") +# } + +# record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[0]") +# } + +# record(ao, "SR03C-VA-VFAST-01:AVG_TIME") { +# field(DTYP, "EtherIP") +# #SCAN must be Passive, otherwise the changes on the GUI aren't picked sometimes +# field(SCAN, "Passive") +# field(PREC, "2") +# field(DRVH, "1.5") +# field(DRVL, "0.5") +# #Scan rate has to be set with S flag when SCAN does not specify a fixed-value scan rate (see ether_ipApp/doc/readme.txt) +# field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[0] S 0.5") +# } + +# record(ai, "SR03C-VA-VFAST-01:AVG_TIME_RBV") { +# field(DTYP, "EtherIP") +# field(SCAN, "1 second") +# field(EGU, "") +# field(PREC, "2") +# field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[0]") +# }#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK1, "SR03C-VA-VFAST-01:GAUGE:01_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 2) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK2, "SR03C-VA-VFAST-01:GAUGE:02_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 6) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK3, "SR03C-VA-VFAST-01:GAUGE:03_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 14) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK4, "SR03C-VA-VFAST-01:GAUGE:04_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 30) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK5, "SR03C-VA-VFAST-01:GAUGE:05_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 62) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_01") { + field(LNK6, "SR03C-VA-VFAST-01:GAUGE:06_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 126) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { + field(LNK1, "SR03C-VA-VFAST-01:GAUGE:07_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 254) +} +#% macro, __doc__, Template is instantiated for every gauge to +# construct the processing chain. This is instantiated by the fastVacuumMaster builder +# class which keeps track of the gauges instantiated via a callback method +# % macro, device, Device prefix +# % macro, lnk_no, LNK field number of fanout +# % macro, lnk, PV name to link to +# % macro, fan, fanout number, 01,02,03 +# % macro, mask, Mask indicating which gauges are instantiated + +# Entry to add LNK to relevant fanout +record(fanout, "SR03C-VA-VFAST-01:FAN_02") { + field(LNK2, "SR03C-VA-VFAST-01:GAUGE:08_0 PP") +} + +# Record to indicate which gauges have been instantiated +# Note bit 0 refers to gauge 0 which doesn't exist +# Note that this records is overridden many times, look for the last +# occurence in the database to get the true value +record(ai, "SR03C-VA-VFAST-01:GAUGE_MASK") { + field(VAL, 510) +} +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 0, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 1000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 1500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 2000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE01_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 2500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE01_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE01_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE01_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE01_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE01_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE01_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE01_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE01_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE01 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03S-VA-IMG-01:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE01") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[1]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[1]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME01") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[1] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME01_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[1]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL01_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[1]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL01_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL01_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL01") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL01_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL01_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[1]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL01_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL01_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL01") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL01_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 3000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 3500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 4000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 4500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 5000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE02_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 5500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE02_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE02_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE02_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE02_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE02_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE02_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE02_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE02_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE02 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03S-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE02") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[2]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[2]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME02") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[2] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME02_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[2]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL02_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[2]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL02_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL02_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL02") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL02_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL02_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[2]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL02_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL02_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL02") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL02_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 6000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 6500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 7000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 7500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 8000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE03_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 8500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE03_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE03_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE03_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE03_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE03_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE03_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE03_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE03_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE03 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-01:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE03") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[3]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[3]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME03") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[3] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME03_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[3]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL03_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[3]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL03_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL03_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL03") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL03_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL03_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[3]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL03_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL03_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL03") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL03_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 9000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 9500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 10000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 10500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 11000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE04_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 11500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE04_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE04_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE04_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE04_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE04_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE04_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE04_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE04_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE04 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE04") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[4]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[4]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME04") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[4] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME04_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[4]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL04_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[4]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL04_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL04_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL04") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL04_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL04_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[4]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL04_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL04_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL04") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL04_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 12000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 12500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 13000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 13500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 14000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE05_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 14500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE05_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE05_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE05_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE05_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE05_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE05_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE05_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE05_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE05 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-03:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE05") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[5]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[5]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME05") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[5] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME05_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[5]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL05_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[5]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL05_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL05_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL05") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL05_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL05_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[5]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL05_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL05_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL05") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL05_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 15000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 15500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 16000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 16500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 17000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE06_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 17500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE06_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE06_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE06_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE06_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE06_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE06_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE06_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE06_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE06 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03A-VA-IMG-04:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE06") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[6]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[6]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME06") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[6] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME06_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[6]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL06_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[6]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL06_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL06_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL06") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL06_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL06_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[6]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL06_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL06_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL06") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL06_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 18000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 18500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 19000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 19500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 20000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE07_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 20500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE07_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE07_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE07_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE07_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE07_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE07_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE07_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE07_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE07 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03I-VA-IMG-02:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE07") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[7]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[7]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME07") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[7] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME07_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[7]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL07_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[7]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL07_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL07_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL07") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL07_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL07_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[7]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL07_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL07_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL07") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL07_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +#% macro, __doc__, Template is needed for each gauge to be included in +# the fast vacuum monitoring. Generates a waveform with the data. +# There is a limit of 500 elements we can read into a waveform over FINS. +# This template combines the 500 chunks into a single waveform and converts +# from 0-4000 to pressure +# % macro, device, Device prefix +# % macro, img, Img prefix +# % macro, fins_port, asyn port name of FINS driver +# % macro, eip_port, asyn port name of etherip driver +# % macro, tagidx, Index for the eip tags +# % macro, timeout, asyn fins_port timeout +# % macro, id, id of the gauge, eg, 01,02 etc +# % macro, em, em number in PLC +# % macro, waveform_nelm, Number of elements in each waveform +# % macro, wave0_addr, Address of waveform 0 +# % macro, wave1_addr, Address of waveform 1 +# % macro, wave2_addr, Address of waveform 2 +# % macro, wave3_addr, Address of waveform 3 +# % macro, wave4_addr, Address of waveform 4 +# % macro, wave5_addr, Address of waveform 5 +# % macro, combined_nelm, Number of elements in final waveform + + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_0") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 21000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_1 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_1") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 21500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_2 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_2") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 22000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_3 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_3") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 22500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_4 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_4") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 23000, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_5 PP") +} + +record(waveform, "SR03C-VA-VFAST-01:GAUGE08_5") { + field(SCAN, "Passive") + field(DTYP, "asynInt16ArrayIn") + field(INP, "@asyn(VLVCC_01_FINS, 23500, 0) FINS_EM0_READ") + field(NELM, "500") + field(FTVL, "USHORT") + field(FLNK, "SR03C-VA-VFAST-01:GAUGE08_COMBINE PP") +} + +# Combine waveforms and convert to pressure +record(aSub, "SR03C-VA-VFAST-01:GAUGE08_COMBINE"){ + field(INPA, "SR03C-VA-VFAST-01:GAUGE08_0") + field(INPB, "SR03C-VA-VFAST-01:GAUGE08_1") + field(INPC, "SR03C-VA-VFAST-01:GAUGE08_2") + field(INPD, "SR03C-VA-VFAST-01:GAUGE08_3") + field(INPE, "SR03C-VA-VFAST-01:GAUGE08_4") + field(INPF, "SR03C-VA-VFAST-01:GAUGE08_5") + field(FTA, "USHORT") + field(FTB, "USHORT") + field(FTC, "USHORT") + field(FTD, "USHORT") + field(FTE, "USHORT") + field(FTF, "USHORT") + field(NOA, "500") + field(NOB, "500") + field(NOC, "500") + field(NOD, "500") + field(NOE, "500") + field(NOF, "500") + field(SNAM, "processWaveforms") + field(OUTA, "SR03C-VA-VFAST-01:GAUGE08 PP") + field(NOVA, "3000") + field(NEVA, "3000") + field(FTVA, "FLOAT") +} + +# Final result, a waveform record with all previous records combined +# % archiver 60 Monitor +record(waveform, "SR03I-VA-IMG-03:FP") { + field(SCAN, "Passive") + field(NELM, "3000") + field(FTVL, "FLOAT") + field(TSEL, "SR03C-VA-VFAST-01:TIMESTAMP.TIME") + field(EGU, "mBar") + alias("SR03C-VA-VFAST-01:GAUGE08") +} + +#################################################################### +# Channel configuration / diagnostics + +record(ao, "SR03C-VA-VFAST-01:TRIG_MULTI08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Trigger_Multiplier[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:TRIG_MULTI08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Multiplier_RB[8]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:HYST_MULTI08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:HYST_MULTI08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Multiplier_RB[8]") +} + +########### + +record(ao, "SR03C-VA-VFAST-01:AVG_TIME08") { + field(DESC, "Set value ") + field(DTYP, "EtherIP") + field(SCAN, "Passive") + field(PREC, "2") + field(DRVH, "1.5") + field(DRVL, "0.5") + field(OUT, "@VLVCC_01_EIP FVA.Averaging_Time[8] S 0.5") +} + +record(ai, "SR03C-VA-VFAST-01:AVG_TIME08_RBV") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "2") + field(INP, "@VLVCC_01_EIP FVA.Averaging_Time_RB[8]") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:TRIG_LEVEL08_RAW") { + field(DESC, "Trigger level raw") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Trigger_Level[8]") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL08_V") { + field(DESC, "Trigger level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL08_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:TRIG_LEVEL08") { + field(DESC, "Trigger level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:TRIG_LEVEL08_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +########### + +record(ai, "SR03C-VA-VFAST-01:HYST_LEVEL08_RAW") { + field(DESC, "Get value ") + field(DTYP, "EtherIP") + field(SCAN, "1 second") + field(EGU, "") + field(PREC, "1") + field(INP, "@VLVCC_01_EIP FVA.Hysteresis_Level[8]") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL08_V") { + field(DESC, "Hysteresis level as voltage") + field(CALC, "a*(10/4000)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL08_RAW CP") + field(PREC, "3") + field(EGU, "V") +} + +record(calc, "SR03C-VA-VFAST-01:HYST_LEVEL08") { + field(DESC, "Hysteresis level as mbar") + field(CALC, "a < b ? 1e-11*exp(1.2156*a):3e-13*exp(2.0620*a)") + field(INPA, "SR03C-VA-VFAST-01:HYST_LEVEL08_V CP") + field(B, "4.142908669") + field(PREC, "3") + field(EGU, "mBar") +} + +# TerminalServer16.template +# Common terminal server template +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, name, object and gui association name +# % gui, TSERV1, edm, sixteenChannel.edl, P=SR03C-VA-TSERV-01 + +# Poll all the infrequently changing status occasionally +record(seq, "SR03C-VA-TSERV-01:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:WHICHPOLL") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:1:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:2:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:3:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:4:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:5:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:6:POLL.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:7:POLL.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:8:POLL.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-01:9:POLL.PROC") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPORT2") +} +record(seq, "SR03C-VA-TSERV-01:WHICHPORT2") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:WHICHPOLL2") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:10:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:11:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:12:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:13:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:14:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:15:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:16:POLL.PROC") +} +record(longout, "SR03C-VA-TSERV-01:WHICHPOLL") +{ + field(VAL, "1") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPOLL2") +} +record(calc, "SR03C-VA-TSERV-01:WHICHPOLL2") +{ + field(INPA, "SR03C-VA-TSERV-01:WHICHPOLL") + field(CALC, "A-10") + field(FLNK, "SR03C-VA-TSERV-01:WHICHPORT") +} +record(calcout, "SR03C-VA-TSERV-01:NEXTPOLL") +{ + field(SCAN, "5 second") + field(INPA, "SR03C-VA-TSERV-01:WHICHPOLL") + field(CALC, "A<=16?A+1:1") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03C-VA-TSERV-01:WHICHPOLL.VAL PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(seq, "SR03C-VA-TSERV-01:1:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:2:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:3:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:4:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:5:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:6:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:7:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:8:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:9:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:10:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:11:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:12:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:13:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:14:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:15:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-01:16:POLL") +{ + field(SELM, "All") +} + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:MODELNAME.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:SERIALNUMBER.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:FWVERSION.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:IPADDRESS.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:SERVERNAME.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:SERVERLOC.PROC") +} + +# Store and restart command. + +record(sseq, "SR03C-VA-TSERV-01:SAVEANDRESTART") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(bo, "SR03C-VA-TSERV-01:SNMPBUSY") +{ + field(DESC, "Indicates that SNMP is busy") + field(ZNAM, "Ready") + field(ONAM, "Busy") +} + +# Global upload + +record(seq, "SR03C-VA-TSERV-01:DOREAD") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:1:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:2:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:3:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:4:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:5:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:6:DOREAD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:7:DOREAD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:8:DOREAD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:9:DOREAD.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-01:10:DOREAD.PROC") + field(FLNK, "SR03C-VA-TSERV-01:DOREAD2") +} +record(seq, "SR03C-VA-TSERV-01:DOREAD2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:11:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:12:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:13:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:14:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:15:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:16:DOREAD.PROC") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOREAD") +{ + field(SELM, "All") +} + +# TerminalServer16.template +# Common terminal server template +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, name, object and gui association name +# % gui, TSERV2, edm, sixteenChannel.edl, P=SR03C-VA-TSERV-02 + +# Poll all the infrequently changing status occasionally +record(seq, "SR03C-VA-TSERV-02:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:WHICHPOLL") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:1:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:2:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:3:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:4:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:5:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:6:POLL.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:7:POLL.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:8:POLL.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-02:9:POLL.PROC") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPORT2") +} +record(seq, "SR03C-VA-TSERV-02:WHICHPORT2") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:WHICHPOLL2") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:10:POLL.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:11:POLL.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:12:POLL.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:13:POLL.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:14:POLL.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:15:POLL.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:16:POLL.PROC") +} +record(longout, "SR03C-VA-TSERV-02:WHICHPOLL") +{ + field(VAL, "1") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPOLL2") +} +record(calc, "SR03C-VA-TSERV-02:WHICHPOLL2") +{ + field(INPA, "SR03C-VA-TSERV-02:WHICHPOLL") + field(CALC, "A-10") + field(FLNK, "SR03C-VA-TSERV-02:WHICHPORT") +} +record(calcout, "SR03C-VA-TSERV-02:NEXTPOLL") +{ + field(SCAN, "5 second") + field(INPA, "SR03C-VA-TSERV-02:WHICHPOLL") + field(CALC, "A<=16?A+1:1") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(OUT, "SR03C-VA-TSERV-02:WHICHPOLL.VAL PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(seq, "SR03C-VA-TSERV-02:1:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:2:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:3:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:4:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:5:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:6:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:7:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:8:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:9:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:10:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:11:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:12:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:13:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:14:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:15:POLL") +{ + field(SELM, "All") +} +record(seq, "SR03C-VA-TSERV-02:16:POLL") +{ + field(SELM, "All") +} + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:MODELNAME.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:SERIALNUMBER.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:FWVERSION.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:IPADDRESS.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:SERVERNAME.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:SERVERLOC.PROC") +} + +# Store and restart command. + +record(sseq, "SR03C-VA-TSERV-02:SAVEANDRESTART") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(bo, "SR03C-VA-TSERV-02:SNMPBUSY") +{ + field(DESC, "Indicates that SNMP is busy") + field(ZNAM, "Ready") + field(ONAM, "Busy") +} + +# Global upload + +record(seq, "SR03C-VA-TSERV-02:DOREAD") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:1:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:2:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:3:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:4:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:5:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:6:DOREAD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:7:DOREAD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:8:DOREAD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:9:DOREAD.PROC") + field(DOLA, "1") + field(LNKA, "SR03C-VA-TSERV-02:10:DOREAD.PROC") + field(FLNK, "SR03C-VA-TSERV-02:DOREAD2") +} +record(seq, "SR03C-VA-TSERV-02:DOREAD2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:11:DOREAD.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:12:DOREAD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:13:DOREAD.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:14:DOREAD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:15:DOREAD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:16:DOREAD.PROC") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOREAD") +{ + field(SELM, "All") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOREAD") +{ + field(SELM, "All") +} + +# Moxa.template +# Moxa system information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_top, boyembed, terminalServerApp_opi/terminalServer.opi, P=SR03C-VA-TSERV-01, name=TSERV1_top + +# Store and restart commands, write a '1' to these records to activate. +# The SNMP agent blocks for up 30s while one of these executes, so we +# disable all polling for the duration. + +record(longout, "SR03C-VA-TSERV-01:DOSAVE") +{ + field(DESC, "Save config" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.7.1.0" ) +} + +record(longout, "SR03C-VA-TSERV-01:DORESTART") +{ + field(DESC, "Restart device" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.8.2.0" ) +} + +# Status + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:MODELNAME") +{ + field(DESC, "Model name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(longin, "SR03C-VA-TSERV-01:SERIALNUMBER") +{ + field(DESC, "Serial number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:FWVERSION") +{ + field(DESC, "Firmware version" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.3.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:IPADDRESS") +{ + field(DESC, "IPv4 address" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.1.10.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:SERVERNAME") +{ + field(DESC, "Server name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:SERVERLOC") +{ + field(DESC, "Server location" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +# Moxa.template +# Moxa system information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_top, boyembed, terminalServerApp_opi/terminalServer.opi, P=SR03C-VA-TSERV-02, name=TSERV2_top + +# Store and restart commands, write a '1' to these records to activate. +# The SNMP agent blocks for up 30s while one of these executes, so we +# disable all polling for the duration. + +record(longout, "SR03C-VA-TSERV-02:DOSAVE") +{ + field(DESC, "Save config" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.7.1.0" ) +} + +record(longout, "SR03C-VA-TSERV-02:DORESTART") +{ + field(DESC, "Restart device" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.8.2.0" ) +} + +# Status + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:MODELNAME") +{ + field(DESC, "Model name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(longin, "SR03C-VA-TSERV-02:SERIALNUMBER") +{ + field(DESC, "Serial number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:FWVERSION") +{ + field(DESC, "Firmware version" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.3.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:IPADDRESS") +{ + field(DESC, "IPv4 address" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.1.10.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:SERVERNAME") +{ + field(DESC, "Server name" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.1.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:SERVERLOC") +{ + field(DESC, "Server location" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.2.1.2.0" ) + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_1, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=1, name=TSERV1_1 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:1:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:1:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:1:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:1:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:1:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:1:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:1:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:1:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:1:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:1:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:1:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:1:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:1:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:1:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:1:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:1:PORT") + field(LNK2, "SR03C-VA-TSERV-01:1:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:1:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:1:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:1:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:1:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:1:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:1:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:1:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:1:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:1:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:1:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:1:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:1:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:1:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:1:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:1:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:1:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +record(longin, "SR03C-VA-TSERV-01:1:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:1:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:1:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:1:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:1:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:1:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:1:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:1:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:1:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:1:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:1:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:1:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:1:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:1:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:1:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:1:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:1:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:1:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:1:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:1:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:1:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:1:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:1:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:1:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:1:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:1:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.1" ) +} +record(calcout, "SR03C-VA-TSERV-01:1:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:1:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:1:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:1:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:1:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:1:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:1:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:1:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:1:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:1:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:1:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:1:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:1:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:1:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:1:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:1:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:1:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:1:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:1:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:1:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:1:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) +} +record(longout, "SR03C-VA-TSERV-01:1:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:1:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:1:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:1:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:1:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:1:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:1:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:1:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:1:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) +} +record(longin, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:1:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:1:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:1:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:1:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:1:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:1:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:1:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.1.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:1:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:1:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_2, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=2, name=TSERV1_2 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:2:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:2:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:2:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:2:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:2:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:2:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:2:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:2:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:2:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:2:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:2:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:2:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:2:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:2:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:2:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:2:PORT") + field(LNK2, "SR03C-VA-TSERV-01:2:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:2:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:2:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:2:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:2:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:2:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:2:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:2:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:2:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:2:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:2:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:2:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:2:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:2:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:2:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:2:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:2:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +record(longin, "SR03C-VA-TSERV-01:2:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:2:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:2:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:2:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:2:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:2:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:2:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:2:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:2:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:2:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:2:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:2:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:2:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:2:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:2:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:2:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:2:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:2:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:2:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:2:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:2:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:2:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:2:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:2:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:2:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:2:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.2" ) +} +record(calcout, "SR03C-VA-TSERV-01:2:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:2:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:2:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:2:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:2:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:2:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:2:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:2:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:2:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:2:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:2:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:2:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:2:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:2:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:2:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:2:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:2:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:2:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:2:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:2:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:2:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) +} +record(longout, "SR03C-VA-TSERV-01:2:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:2:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:2:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:2:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:2:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:2:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:2:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:2:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:2:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) +} +record(longin, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:2:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:2:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:2:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:2:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:2:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:2:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:2:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.2.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:2:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:2:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_3, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=3, name=TSERV1_3 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:3:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:3:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:3:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:3:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:3:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:3:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:3:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:3:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:3:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:3:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:3:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:3:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:3:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:3:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:3:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:3:PORT") + field(LNK2, "SR03C-VA-TSERV-01:3:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:3:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:3:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:3:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:3:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:3:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:3:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:3:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:3:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:3:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:3:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:3:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:3:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:3:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:3:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:3:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:3:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +record(longin, "SR03C-VA-TSERV-01:3:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:3:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:3:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:3:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:3:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:3:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:3:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:3:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:3:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:3:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:3:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:3:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:3:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:3:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:3:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:3:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:3:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:3:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:3:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:3:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:3:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:3:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:3:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:3:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:3:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:3:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.3" ) +} +record(calcout, "SR03C-VA-TSERV-01:3:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:3:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:3:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:3:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:3:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:3:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:3:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:3:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:3:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:3:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:3:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:3:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:3:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:3:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:3:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:3:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:3:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:3:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:3:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:3:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:3:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) +} +record(longout, "SR03C-VA-TSERV-01:3:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:3:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:3:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:3:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:3:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:3:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:3:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:3:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:3:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) +} +record(longin, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:3:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:3:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:3:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:3:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:3:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:3:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:3:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.3.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:3:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:3:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_4, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=4, name=TSERV1_4 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:4:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:4:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:4:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:4:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:4:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:4:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:4:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:4:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:4:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:4:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:4:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:4:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:4:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:4:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:4:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:4:PORT") + field(LNK2, "SR03C-VA-TSERV-01:4:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:4:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:4:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:4:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:4:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:4:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:4:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:4:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:4:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:4:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:4:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:4:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:4:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:4:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:4:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:4:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:4:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +record(longin, "SR03C-VA-TSERV-01:4:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:4:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:4:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:4:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:4:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:4:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:4:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:4:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:4:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:4:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:4:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:4:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:4:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:4:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:4:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:4:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:4:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:4:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:4:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:4:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:4:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:4:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:4:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:4:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:4:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:4:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.4" ) +} +record(calcout, "SR03C-VA-TSERV-01:4:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:4:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:4:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:4:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:4:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:4:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:4:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:4:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:4:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:4:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:4:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:4:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:4:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:4:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:4:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:4:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:4:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:4:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:4:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:4:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:4:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) +} +record(longout, "SR03C-VA-TSERV-01:4:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:4:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:4:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:4:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:4:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:4:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:4:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:4:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:4:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) +} +record(longin, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:4:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:4:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:4:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:4:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:4:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:4:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:4:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.4.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:4:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:4:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_5, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=5, name=TSERV1_5 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:5:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:5:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:5:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:5:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:5:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:5:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:5:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:5:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:5:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:5:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:5:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:5:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:5:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:5:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:5:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:5:PORT") + field(LNK2, "SR03C-VA-TSERV-01:5:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:5:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:5:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:5:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:5:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:5:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:5:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:5:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:5:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:5:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:5:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:5:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:5:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:5:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:5:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:5:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:5:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +record(longin, "SR03C-VA-TSERV-01:5:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:5:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:5:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:5:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:5:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:5:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:5:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:5:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:5:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:5:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:5:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:5:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:5:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:5:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:5:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:5:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:5:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:5:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:5:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:5:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:5:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:5:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:5:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:5:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:5:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:5:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.5" ) +} +record(calcout, "SR03C-VA-TSERV-01:5:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:5:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:5:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:5:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:5:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:5:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:5:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:5:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:5:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:5:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:5:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:5:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:5:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:5:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:5:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:5:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:5:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:5:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:5:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:5:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:5:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) +} +record(longout, "SR03C-VA-TSERV-01:5:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:5:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:5:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:5:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:5:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:5:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:5:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:5:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:5:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) +} +record(longin, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:5:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:5:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:5:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:5:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:5:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:5:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:5:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.5.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:5:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:5:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_6, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=6, name=TSERV1_6 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:6:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:6:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:6:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:6:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:6:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:6:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:6:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:6:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:6:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:6:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:6:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:6:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:6:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:6:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:6:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:6:PORT") + field(LNK2, "SR03C-VA-TSERV-01:6:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:6:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:6:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:6:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:6:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:6:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:6:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:6:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:6:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:6:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:6:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:6:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:6:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:6:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:6:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:6:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:6:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +record(longin, "SR03C-VA-TSERV-01:6:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:6:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:6:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:6:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:6:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:6:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:6:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:6:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:6:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:6:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:6:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:6:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:6:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:6:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:6:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:6:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:6:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:6:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:6:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:6:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:6:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:6:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:6:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:6:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:6:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:6:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.6" ) +} +record(calcout, "SR03C-VA-TSERV-01:6:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:6:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:6:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:6:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:6:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:6:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:6:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:6:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:6:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:6:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:6:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:6:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:6:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:6:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:6:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:6:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:6:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:6:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:6:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:6:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:6:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) +} +record(longout, "SR03C-VA-TSERV-01:6:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:6:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:6:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:6:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:6:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:6:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:6:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:6:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:6:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) +} +record(longin, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:6:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:6:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:6:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:6:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:6:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:6:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:6:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.6.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:6:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:6:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_7, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=7, name=TSERV1_7 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:7:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:7:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:7:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:7:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:7:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:7:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:7:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:7:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:7:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:7:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:7:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:7:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:7:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:7:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:7:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:7:PORT") + field(LNK2, "SR03C-VA-TSERV-01:7:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:7:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:7:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:7:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:7:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:7:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:7:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:7:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:7:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:7:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:7:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:7:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:7:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:7:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:7:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:7:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:7:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +record(longin, "SR03C-VA-TSERV-01:7:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:7:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:7:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:7:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:7:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:7:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:7:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:7:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:7:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:7:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:7:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:7:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:7:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:7:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:7:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:7:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:7:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:7:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:7:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:7:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:7:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:7:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:7:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:7:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:7:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:7:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.7" ) +} +record(calcout, "SR03C-VA-TSERV-01:7:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:7:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:7:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:7:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:7:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:7:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:7:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:7:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:7:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:7:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:7:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:7:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:7:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:7:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:7:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:7:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:7:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:7:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:7:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:7:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:7:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) +} +record(longout, "SR03C-VA-TSERV-01:7:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:7:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:7:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:7:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:7:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:7:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:7:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:7:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:7:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) +} +record(longin, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:7:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:7:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:7:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:7:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:7:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:7:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:7:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.7.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:7:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:7:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_8, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=8, name=TSERV1_8 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:8:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:8:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:8:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:8:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:8:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:8:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:8:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:8:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:8:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:8:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:8:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:8:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:8:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:8:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:8:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:8:PORT") + field(LNK2, "SR03C-VA-TSERV-01:8:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:8:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:8:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:8:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:8:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:8:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:8:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:8:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:8:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:8:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:8:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:8:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:8:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:8:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:8:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:8:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:8:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +record(longin, "SR03C-VA-TSERV-01:8:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:8:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:8:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:8:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:8:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:8:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:8:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:8:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:8:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:8:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:8:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:8:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:8:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:8:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:8:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:8:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:8:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:8:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:8:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:8:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:8:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:8:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:8:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:8:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:8:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:8:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.8" ) +} +record(calcout, "SR03C-VA-TSERV-01:8:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:8:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:8:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:8:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:8:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:8:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:8:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:8:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:8:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:8:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:8:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:8:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:8:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:8:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:8:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:8:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:8:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:8:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:8:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:8:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:8:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) +} +record(longout, "SR03C-VA-TSERV-01:8:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:8:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:8:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:8:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:8:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:8:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:8:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:8:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:8:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) +} +record(longin, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:8:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:8:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:8:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:8:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:8:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:8:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:8:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.8.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:8:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:8:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_9, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=9, name=TSERV1_9 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:9:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:9:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:9:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:9:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:9:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:9:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:9:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:9:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:9:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:9:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:9:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:9:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:9:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:9:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:9:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:9:PORT") + field(LNK2, "SR03C-VA-TSERV-01:9:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:9:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:9:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:9:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:9:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:9:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:9:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:9:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:9:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:9:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:9:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:9:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:9:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:9:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:9:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:9:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:9:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +record(longin, "SR03C-VA-TSERV-01:9:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:9:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:9:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:9:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:9:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:9:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:9:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:9:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:9:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:9:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:9:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:9:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:9:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:9:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:9:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:9:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:9:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:9:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:9:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:9:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:9:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:9:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:9:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:9:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:9:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:9:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.9" ) +} +record(calcout, "SR03C-VA-TSERV-01:9:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:9:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:9:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:9:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:9:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:9:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:9:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:9:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:9:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:9:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:9:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:9:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:9:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:9:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:9:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:9:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:9:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:9:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:9:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:9:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:9:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) +} +record(longout, "SR03C-VA-TSERV-01:9:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:9:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:9:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:9:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:9:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:9:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:9:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:9:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:9:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) +} +record(longin, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:9:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:9:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:9:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:9:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:9:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:9:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:9:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.9.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:9:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:9:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_10, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=10, name=TSERV1_10 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:10:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:10:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:10:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:10:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:10:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:10:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:10:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:10:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:10:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:10:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:10:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:10:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:10:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:10:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:10:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:10:PORT") + field(LNK2, "SR03C-VA-TSERV-01:10:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:10:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:10:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:10:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:10:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:10:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:10:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:10:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:10:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:10:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:10:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:10:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:10:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:10:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:10:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:10:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:10:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +record(longin, "SR03C-VA-TSERV-01:10:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:10:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:10:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:10:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:10:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:10:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:10:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:10:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:10:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:10:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:10:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:10:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:10:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:10:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:10:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:10:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:10:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:10:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:10:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:10:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:10:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:10:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:10:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:10:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:10:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:10:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.10" ) +} +record(calcout, "SR03C-VA-TSERV-01:10:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:10:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:10:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:10:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:10:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:10:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:10:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:10:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:10:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:10:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:10:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:10:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:10:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:10:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:10:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:10:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:10:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:10:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:10:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:10:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:10:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) +} +record(longout, "SR03C-VA-TSERV-01:10:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:10:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:10:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:10:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:10:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:10:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:10:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:10:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:10:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) +} +record(longin, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:10:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:10:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:10:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:10:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:10:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:10:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:10:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.10.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:10:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:10:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_11, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=11, name=TSERV1_11 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:11:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:11:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:11:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:11:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:11:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:11:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:11:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:11:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:11:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:11:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:11:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:11:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:11:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:11:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:11:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:11:PORT") + field(LNK2, "SR03C-VA-TSERV-01:11:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:11:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:11:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:11:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:11:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:11:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:11:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:11:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:11:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:11:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:11:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:11:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:11:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:11:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:11:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:11:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:11:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +record(longin, "SR03C-VA-TSERV-01:11:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:11:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:11:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:11:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:11:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:11:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:11:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:11:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:11:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:11:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:11:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:11:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:11:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:11:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:11:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:11:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:11:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:11:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:11:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:11:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:11:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:11:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:11:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:11:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:11:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:11:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.11" ) +} +record(calcout, "SR03C-VA-TSERV-01:11:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:11:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:11:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:11:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:11:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:11:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:11:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:11:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:11:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:11:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:11:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:11:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:11:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:11:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:11:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:11:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:11:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:11:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:11:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:11:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:11:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) +} +record(longout, "SR03C-VA-TSERV-01:11:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:11:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:11:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:11:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:11:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:11:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:11:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:11:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:11:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) +} +record(longin, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:11:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:11:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:11:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:11:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:11:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:11:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:11:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.11.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:11:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:11:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_12, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=12, name=TSERV1_12 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:12:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:12:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:12:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:12:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:12:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:12:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:12:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:12:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:12:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:12:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:12:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:12:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:12:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:12:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:12:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:12:PORT") + field(LNK2, "SR03C-VA-TSERV-01:12:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:12:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:12:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:12:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:12:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:12:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:12:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:12:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:12:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:12:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:12:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:12:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:12:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:12:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:12:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:12:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:12:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +record(longin, "SR03C-VA-TSERV-01:12:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:12:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:12:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:12:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:12:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:12:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:12:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:12:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:12:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:12:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:12:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:12:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:12:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:12:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:12:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:12:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:12:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:12:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:12:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:12:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:12:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:12:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:12:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:12:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:12:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:12:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.12" ) +} +record(calcout, "SR03C-VA-TSERV-01:12:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:12:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:12:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:12:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:12:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:12:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:12:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:12:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:12:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:12:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:12:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:12:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:12:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:12:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:12:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:12:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:12:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:12:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:12:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:12:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:12:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) +} +record(longout, "SR03C-VA-TSERV-01:12:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:12:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:12:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:12:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:12:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:12:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:12:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:12:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:12:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) +} +record(longin, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:12:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:12:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:12:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:12:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:12:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:12:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:12:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.12.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:12:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:12:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_13, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=13, name=TSERV1_13 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:13:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:13:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:13:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:13:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:13:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:13:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:13:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:13:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:13:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:13:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:13:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:13:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:13:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:13:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:13:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:13:PORT") + field(LNK2, "SR03C-VA-TSERV-01:13:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:13:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:13:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:13:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:13:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:13:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:13:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:13:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:13:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:13:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:13:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:13:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:13:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:13:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:13:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:13:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:13:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +record(longin, "SR03C-VA-TSERV-01:13:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:13:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:13:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:13:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:13:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:13:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:13:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:13:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:13:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:13:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:13:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:13:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:13:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:13:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:13:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:13:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:13:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:13:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:13:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:13:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:13:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:13:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:13:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:13:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:13:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:13:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.13" ) +} +record(calcout, "SR03C-VA-TSERV-01:13:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:13:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:13:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:13:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:13:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:13:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:13:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:13:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:13:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:13:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:13:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:13:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:13:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:13:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:13:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:13:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:13:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:13:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:13:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:13:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:13:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) +} +record(longout, "SR03C-VA-TSERV-01:13:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:13:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:13:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:13:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:13:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:13:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:13:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:13:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:13:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) +} +record(longin, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:13:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:13:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:13:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:13:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:13:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:13:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:13:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.13.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:13:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:13:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_14, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=14, name=TSERV1_14 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:14:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:14:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:14:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:14:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:14:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:14:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:14:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:14:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:14:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:14:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:14:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:14:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:14:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:14:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:14:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:14:PORT") + field(LNK2, "SR03C-VA-TSERV-01:14:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:14:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:14:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:14:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:14:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:14:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:14:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:14:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:14:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:14:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:14:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:14:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:14:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:14:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:14:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:14:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:14:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +record(longin, "SR03C-VA-TSERV-01:14:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:14:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:14:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:14:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:14:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:14:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:14:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:14:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:14:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:14:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:14:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:14:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:14:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:14:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:14:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:14:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:14:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:14:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:14:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:14:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:14:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:14:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:14:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:14:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:14:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:14:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.14" ) +} +record(calcout, "SR03C-VA-TSERV-01:14:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:14:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:14:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:14:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:14:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:14:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:14:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:14:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:14:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:14:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:14:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:14:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:14:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:14:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:14:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:14:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:14:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:14:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:14:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:14:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:14:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) +} +record(longout, "SR03C-VA-TSERV-01:14:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:14:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:14:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:14:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:14:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:14:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:14:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:14:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:14:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) +} +record(longin, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:14:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:14:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:14:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:14:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:14:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:14:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:14:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.14.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:14:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:14:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_15, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=15, name=TSERV1_15 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:15:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:15:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:15:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:15:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:15:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:15:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:15:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:15:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:15:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:15:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:15:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:15:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:15:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:15:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:15:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:15:PORT") + field(LNK2, "SR03C-VA-TSERV-01:15:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:15:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:15:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:15:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:15:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:15:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:15:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:15:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:15:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:15:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:15:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:15:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:15:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:15:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:15:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:15:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:15:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +record(longin, "SR03C-VA-TSERV-01:15:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:15:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:15:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:15:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:15:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:15:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:15:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:15:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:15:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:15:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:15:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:15:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:15:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:15:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:15:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:15:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:15:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:15:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:15:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:15:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:15:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:15:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:15:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:15:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:15:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:15:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.15" ) +} +record(calcout, "SR03C-VA-TSERV-01:15:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:15:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:15:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:15:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:15:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:15:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:15:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:15:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:15:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:15:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:15:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:15:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:15:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:15:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:15:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:15:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:15:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:15:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:15:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:15:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:15:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) +} +record(longout, "SR03C-VA-TSERV-01:15:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:15:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:15:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:15:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:15:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:15:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:15:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:15:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:15:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) +} +record(longin, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:15:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:15:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:15:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:15:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:15:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:15:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:15:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.15.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:15:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:15:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV1_16, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-01, CHAN=16, name=TSERV1_16 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-01:16:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:16:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:16:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-01:16:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-01:16:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:16:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-01:16:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:16:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:16:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:16:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-01:16:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-01:16:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-01:16:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-01:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-01:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-01:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-01:16:POLL") +} +record(sseq, "SR03C-VA-TSERV-01:16:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-01:16:PORT") + field(LNK2, "SR03C-VA-TSERV-01:16:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-01:16:ALIAS") + field(LNK3, "SR03C-VA-TSERV-01:16:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-01:16:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-01:16:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-01:16:DATABITS") + field(LNK5, "SR03C-VA-TSERV-01:16:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-01:16:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-01:16:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-01:16:PARITY") + field(LNK7, "SR03C-VA-TSERV-01:16:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-01:16:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-01:16:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-01:16:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-01:16:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-01:16:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-01:16:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +record(longin, "SR03C-VA-TSERV-01:16:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-01:16:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-01:16:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-01:16:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-01:16:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-01:16:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-01:16:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-01:16:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-01:16:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-01:16:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-01:16:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-01:16:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-01:16:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK1, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL2, "SR03C-VA-TSERV-01:16:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL3, "SR03C-VA-TSERV-01:16:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL4, "SR03C-VA-TSERV-01:16:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL5, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL6, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK6, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL7, "SR03C-VA-TSERV-01:16:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL8, "SR03C-VA-TSERV-01:16:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-01:16:PORT PP") + field(DOL9, "SR03C-VA-TSERV-01:16:NOPORT") + field(LNK9, "SR03C-VA-TSERV-01:16:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-01:16:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:16:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-01:16:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-01:16:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-01:16:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.16" ) +} +record(calcout, "SR03C-VA-TSERV-01:16:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-01:16:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-01:16:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-01:16:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-01:16:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-01:16:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-01:16:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-01:16:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-01:16:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:PORTCFG") + field(INPB, "SR03C-VA-TSERV-01:16:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-01:16:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-01:16:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-01:16:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-01:16:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK1, "SR03C-VA-TSERV-01:16:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK2, "SR03C-VA-TSERV-01:16:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK3, "SR03C-VA-TSERV-01:16:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK4, "SR03C-VA-TSERV-01:16:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-01:16:PORTWR") + field(LNK5, "SR03C-VA-TSERV-01:16:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-01:16:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) +} +record(longout, "SR03C-VA-TSERV-01:16:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-01:16:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-01:16:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-01:16:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-01:16:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-01:16:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-01:16:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-01:16:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-01:16:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) +} +record(longin, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-01:16:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-01:16:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-01:16:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-01:16:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-01:16:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-01:16:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-01:16:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.16.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:16:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-01:16:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.11:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-01:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-01:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_1, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=1, name=TSERV2_1 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:1:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:1:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:1:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:1:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:1:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:1:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:1:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:1:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:1:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:1:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:1:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:1:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:1:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:1:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:1:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:1:PORT") + field(LNK2, "SR03C-VA-TSERV-02:1:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:1:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:1:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:1:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:1:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:1:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:1:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:1:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:1:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:1:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:1:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:1:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:1:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:1:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:1:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:1:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:1:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +record(longin, "SR03C-VA-TSERV-02:1:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.1") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:1:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:1:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:1:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:1:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:1:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:1:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:1:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:1:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:1:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:1:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:1:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:1:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:1:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:1:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:1:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:1:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:1:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:1:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:1:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:1:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:1:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:1:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:1:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:1:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:1:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.1" ) +} +record(calcout, "SR03C-VA-TSERV-02:1:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:1:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:1:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:1:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:1:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:1:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:1:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:1:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:1:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:1:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:1:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:1:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:1:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:1:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:1:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:1:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:1:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:1:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:1:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:1:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:1:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.1" ) +} +record(longout, "SR03C-VA-TSERV-02:1:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.1" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:1:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:1:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:1:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:1:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:1:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:1:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:1:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:1:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) +} +record(longin, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.1" ) + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:1:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:1:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:1:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:1:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:1:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:1:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:1:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.1.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:1:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:1:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.1" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:1:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_2, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=2, name=TSERV2_2 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:2:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:2:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:2:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:2:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:2:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:2:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:2:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:2:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:2:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:2:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:2:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:2:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:2:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:2:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:2:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:2:PORT") + field(LNK2, "SR03C-VA-TSERV-02:2:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:2:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:2:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:2:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:2:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:2:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:2:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:2:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:2:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:2:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:2:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:2:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:2:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:2:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:2:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:2:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:2:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +record(longin, "SR03C-VA-TSERV-02:2:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.2") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:2:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:2:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:2:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:2:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:2:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:2:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:2:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:2:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:2:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:2:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:2:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:2:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:2:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:2:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:2:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:2:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:2:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:2:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:2:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:2:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:2:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:2:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:2:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:2:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:2:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.2" ) +} +record(calcout, "SR03C-VA-TSERV-02:2:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:2:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:2:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:2:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:2:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:2:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:2:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:2:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:2:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:2:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:2:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:2:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:2:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:2:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:2:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:2:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:2:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:2:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:2:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:2:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:2:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.2" ) +} +record(longout, "SR03C-VA-TSERV-02:2:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.2" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:2:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:2:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:2:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:2:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:2:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:2:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:2:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:2:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) +} +record(longin, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.2" ) + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:2:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:2:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:2:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:2:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:2:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:2:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:2:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.2.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:2:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:2:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.2" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:2:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_3, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=3, name=TSERV2_3 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:3:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:3:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:3:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:3:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:3:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:3:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:3:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:3:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:3:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:3:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:3:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:3:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:3:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:3:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:3:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:3:PORT") + field(LNK2, "SR03C-VA-TSERV-02:3:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:3:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:3:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:3:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:3:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:3:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:3:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:3:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:3:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:3:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:3:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:3:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:3:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:3:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:3:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:3:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:3:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +record(longin, "SR03C-VA-TSERV-02:3:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.3") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:3:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:3:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:3:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:3:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:3:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:3:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:3:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:3:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:3:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:3:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:3:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:3:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:3:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:3:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:3:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:3:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:3:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:3:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:3:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:3:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:3:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:3:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:3:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:3:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:3:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.3" ) +} +record(calcout, "SR03C-VA-TSERV-02:3:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:3:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:3:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:3:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:3:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:3:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:3:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:3:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:3:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:3:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:3:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:3:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:3:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:3:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:3:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:3:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:3:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:3:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:3:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:3:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:3:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.3" ) +} +record(longout, "SR03C-VA-TSERV-02:3:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.3" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:3:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:3:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:3:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:3:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:3:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:3:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:3:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:3:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) +} +record(longin, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.3" ) + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:3:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:3:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:3:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:3:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:3:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:3:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:3:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.3.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:3:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:3:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.3" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:3:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_4, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=4, name=TSERV2_4 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:4:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:4:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:4:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:4:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:4:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:4:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:4:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:4:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:4:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:4:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:4:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:4:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:4:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:4:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:4:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:4:PORT") + field(LNK2, "SR03C-VA-TSERV-02:4:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:4:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:4:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:4:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:4:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:4:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:4:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:4:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:4:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:4:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:4:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:4:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:4:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:4:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:4:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:4:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:4:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +record(longin, "SR03C-VA-TSERV-02:4:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.4") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:4:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:4:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:4:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:4:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:4:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:4:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:4:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:4:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:4:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:4:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:4:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:4:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:4:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:4:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:4:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:4:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:4:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:4:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:4:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:4:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:4:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:4:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:4:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:4:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:4:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.4" ) +} +record(calcout, "SR03C-VA-TSERV-02:4:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:4:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:4:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:4:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:4:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:4:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:4:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:4:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:4:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:4:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:4:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:4:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:4:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:4:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:4:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:4:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:4:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:4:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:4:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:4:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:4:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.4" ) +} +record(longout, "SR03C-VA-TSERV-02:4:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.4" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:4:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:4:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:4:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:4:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:4:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:4:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:4:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:4:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) +} +record(longin, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.4" ) + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:4:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:4:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:4:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:4:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:4:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:4:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:4:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.4.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:4:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:4:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.4" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:4:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_5, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=5, name=TSERV2_5 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:5:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:5:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:5:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:5:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:5:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:5:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:5:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:5:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:5:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:5:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:5:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:5:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:5:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:5:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:5:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:5:PORT") + field(LNK2, "SR03C-VA-TSERV-02:5:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:5:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:5:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:5:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:5:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:5:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:5:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:5:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:5:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:5:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:5:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:5:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:5:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:5:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:5:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:5:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:5:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +record(longin, "SR03C-VA-TSERV-02:5:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.5") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:5:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:5:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:5:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:5:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:5:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:5:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:5:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:5:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:5:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:5:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:5:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:5:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:5:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:5:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:5:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:5:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:5:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:5:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:5:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:5:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:5:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:5:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:5:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:5:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:5:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.5" ) +} +record(calcout, "SR03C-VA-TSERV-02:5:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:5:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:5:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:5:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:5:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:5:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:5:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:5:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:5:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:5:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:5:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:5:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:5:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:5:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:5:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:5:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:5:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:5:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:5:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:5:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:5:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.5" ) +} +record(longout, "SR03C-VA-TSERV-02:5:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.5" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:5:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:5:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:5:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:5:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:5:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:5:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:5:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:5:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) +} +record(longin, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.5" ) + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:5:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:5:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:5:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:5:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:5:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:5:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:5:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.5.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:5:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:5:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.5" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:5:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_6, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=6, name=TSERV2_6 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:6:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:6:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:6:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:6:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:6:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:6:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:6:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:6:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:6:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:6:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:6:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:6:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:6:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:6:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:6:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:6:PORT") + field(LNK2, "SR03C-VA-TSERV-02:6:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:6:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:6:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:6:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:6:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:6:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:6:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:6:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:6:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:6:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:6:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:6:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:6:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:6:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:6:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:6:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:6:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +record(longin, "SR03C-VA-TSERV-02:6:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.6") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:6:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:6:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:6:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:6:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:6:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:6:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:6:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:6:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:6:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:6:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:6:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:6:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:6:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:6:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:6:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:6:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:6:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:6:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:6:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:6:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:6:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:6:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:6:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:6:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:6:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.6" ) +} +record(calcout, "SR03C-VA-TSERV-02:6:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:6:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:6:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:6:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:6:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:6:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:6:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:6:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:6:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:6:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:6:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:6:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:6:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:6:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:6:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:6:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:6:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:6:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:6:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:6:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:6:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.6" ) +} +record(longout, "SR03C-VA-TSERV-02:6:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.6" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:6:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:6:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:6:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:6:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:6:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:6:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:6:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:6:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) +} +record(longin, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.6" ) + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:6:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:6:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:6:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:6:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:6:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:6:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:6:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.6.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:6:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:6:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.6" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:6:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_7, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=7, name=TSERV2_7 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:7:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:7:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:7:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:7:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:7:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:7:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:7:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:7:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:7:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:7:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:7:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:7:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:7:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:7:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:7:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:7:PORT") + field(LNK2, "SR03C-VA-TSERV-02:7:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:7:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:7:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:7:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:7:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:7:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:7:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:7:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:7:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:7:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:7:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:7:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:7:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:7:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:7:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:7:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:7:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +record(longin, "SR03C-VA-TSERV-02:7:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.7") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:7:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:7:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:7:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:7:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:7:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:7:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:7:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:7:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:7:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:7:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:7:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:7:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:7:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:7:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:7:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:7:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:7:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:7:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:7:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:7:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:7:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:7:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:7:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:7:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:7:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.7" ) +} +record(calcout, "SR03C-VA-TSERV-02:7:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:7:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:7:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:7:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:7:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:7:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:7:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:7:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:7:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:7:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:7:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:7:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:7:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:7:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:7:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:7:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:7:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:7:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:7:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:7:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:7:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.7" ) +} +record(longout, "SR03C-VA-TSERV-02:7:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.7" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:7:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:7:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:7:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:7:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:7:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:7:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:7:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:7:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) +} +record(longin, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.7" ) + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:7:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:7:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:7:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:7:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:7:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:7:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:7:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.7.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:7:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:7:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.7" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:7:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_8, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=8, name=TSERV2_8 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:8:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:8:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:8:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:8:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:8:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:8:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:8:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:8:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:8:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:8:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:8:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:8:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:8:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:8:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:8:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:8:PORT") + field(LNK2, "SR03C-VA-TSERV-02:8:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:8:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:8:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:8:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:8:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:8:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:8:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:8:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:8:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:8:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:8:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:8:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:8:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:8:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:8:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:8:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:8:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +record(longin, "SR03C-VA-TSERV-02:8:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.8") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:8:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:8:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:8:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:8:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:8:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:8:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:8:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:8:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:8:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:8:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:8:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:8:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:8:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:8:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:8:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:8:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:8:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:8:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:8:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:8:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:8:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:8:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:8:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:8:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:8:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.8" ) +} +record(calcout, "SR03C-VA-TSERV-02:8:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:8:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:8:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:8:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:8:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:8:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:8:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:8:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:8:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:8:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:8:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:8:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:8:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:8:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:8:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:8:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:8:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:8:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:8:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:8:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:8:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.8" ) +} +record(longout, "SR03C-VA-TSERV-02:8:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.8" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:8:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:8:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:8:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:8:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:8:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:8:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:8:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:8:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) +} +record(longin, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.8" ) + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:8:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:8:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:8:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:8:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:8:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:8:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:8:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.8.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:8:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:8:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.8" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:8:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_9, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=9, name=TSERV2_9 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:9:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:9:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:9:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:9:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:9:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:9:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:9:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:9:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:9:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:9:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:9:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:9:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:9:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:9:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:9:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:9:PORT") + field(LNK2, "SR03C-VA-TSERV-02:9:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:9:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:9:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:9:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:9:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:9:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:9:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:9:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:9:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:9:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:9:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:9:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:9:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:9:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:9:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:9:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:9:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +record(longin, "SR03C-VA-TSERV-02:9:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.9") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:9:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:9:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:9:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:9:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:9:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:9:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:9:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:9:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:9:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:9:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:9:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:9:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:9:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:9:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:9:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:9:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:9:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:9:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:9:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:9:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:9:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:9:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:9:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:9:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:9:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.9" ) +} +record(calcout, "SR03C-VA-TSERV-02:9:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:9:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:9:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:9:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:9:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:9:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:9:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:9:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:9:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:9:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:9:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:9:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:9:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:9:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:9:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:9:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:9:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:9:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:9:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:9:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:9:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.9" ) +} +record(longout, "SR03C-VA-TSERV-02:9:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.9" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:9:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:9:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:9:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:9:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:9:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:9:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:9:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:9:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) +} +record(longin, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.9" ) + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:9:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:9:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:9:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:9:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:9:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:9:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:9:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.9.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:9:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:9:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.9" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:9:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_10, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=10, name=TSERV2_10 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:10:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:10:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:10:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:10:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:10:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:10:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:10:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:10:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:10:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:10:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:10:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:10:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:10:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:10:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:10:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:10:PORT") + field(LNK2, "SR03C-VA-TSERV-02:10:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:10:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:10:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:10:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:10:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:10:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:10:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:10:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:10:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:10:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:10:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:10:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:10:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:10:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:10:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:10:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:10:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +record(longin, "SR03C-VA-TSERV-02:10:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.10") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:10:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:10:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:10:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:10:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:10:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:10:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:10:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:10:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:10:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:10:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:10:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:10:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:10:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:10:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:10:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:10:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:10:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:10:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:10:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:10:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:10:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:10:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:10:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:10:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:10:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.10" ) +} +record(calcout, "SR03C-VA-TSERV-02:10:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:10:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:10:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:10:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:10:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:10:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:10:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:10:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:10:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:10:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:10:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:10:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:10:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:10:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:10:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:10:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:10:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:10:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:10:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:10:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:10:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.10" ) +} +record(longout, "SR03C-VA-TSERV-02:10:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.10" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:10:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:10:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:10:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:10:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:10:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:10:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:10:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:10:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) +} +record(longin, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.10" ) + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:10:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:10:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:10:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:10:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:10:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:10:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:10:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.10.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:10:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:10:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.10" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:10:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_11, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=11, name=TSERV2_11 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:11:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:11:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:11:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:11:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:11:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:11:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:11:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:11:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:11:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:11:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:11:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:11:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:11:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:11:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:11:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:11:PORT") + field(LNK2, "SR03C-VA-TSERV-02:11:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:11:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:11:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:11:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:11:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:11:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:11:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:11:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:11:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:11:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:11:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:11:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:11:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:11:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:11:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:11:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:11:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +record(longin, "SR03C-VA-TSERV-02:11:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.11") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:11:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:11:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:11:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:11:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:11:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:11:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:11:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:11:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:11:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:11:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:11:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:11:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:11:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:11:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:11:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:11:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:11:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:11:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:11:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:11:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:11:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:11:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:11:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:11:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:11:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.11" ) +} +record(calcout, "SR03C-VA-TSERV-02:11:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:11:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:11:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:11:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:11:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:11:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:11:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:11:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:11:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:11:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:11:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:11:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:11:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:11:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:11:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:11:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:11:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:11:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:11:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:11:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:11:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.11" ) +} +record(longout, "SR03C-VA-TSERV-02:11:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.11" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:11:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:11:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:11:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:11:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:11:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:11:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:11:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:11:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) +} +record(longin, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.11" ) + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:11:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:11:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:11:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:11:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:11:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:11:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:11:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.11.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:11:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:11:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.11" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:11:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_12, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=12, name=TSERV2_12 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:12:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:12:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:12:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:12:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:12:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:12:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:12:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:12:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:12:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:12:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:12:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:12:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:12:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:12:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:12:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:12:PORT") + field(LNK2, "SR03C-VA-TSERV-02:12:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:12:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:12:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:12:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:12:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:12:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:12:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:12:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:12:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:12:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:12:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:12:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:12:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:12:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:12:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:12:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:12:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +record(longin, "SR03C-VA-TSERV-02:12:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.12") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:12:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:12:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:12:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:12:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:12:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:12:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:12:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:12:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:12:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:12:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:12:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:12:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:12:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:12:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:12:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:12:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:12:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:12:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:12:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:12:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:12:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:12:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:12:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:12:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:12:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.12" ) +} +record(calcout, "SR03C-VA-TSERV-02:12:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:12:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:12:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:12:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:12:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:12:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:12:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:12:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:12:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:12:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:12:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:12:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:12:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:12:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:12:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:12:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:12:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:12:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:12:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:12:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:12:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.12" ) +} +record(longout, "SR03C-VA-TSERV-02:12:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.12" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:12:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:12:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:12:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:12:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:12:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:12:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:12:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:12:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) +} +record(longin, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.12" ) + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:12:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:12:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:12:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:12:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:12:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:12:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:12:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.12.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:12:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:12:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.12" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:12:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_13, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=13, name=TSERV2_13 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:13:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:13:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:13:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:13:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:13:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:13:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:13:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:13:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:13:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:13:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:13:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:13:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:13:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:13:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:13:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:13:PORT") + field(LNK2, "SR03C-VA-TSERV-02:13:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:13:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:13:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:13:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:13:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:13:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:13:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:13:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:13:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:13:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:13:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:13:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:13:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:13:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:13:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:13:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:13:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +record(longin, "SR03C-VA-TSERV-02:13:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.13") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:13:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:13:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:13:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:13:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:13:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:13:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:13:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:13:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:13:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:13:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:13:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:13:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:13:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:13:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:13:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:13:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:13:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:13:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:13:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:13:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:13:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:13:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:13:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:13:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:13:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.13" ) +} +record(calcout, "SR03C-VA-TSERV-02:13:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:13:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:13:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:13:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:13:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:13:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:13:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:13:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:13:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:13:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:13:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:13:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:13:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:13:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:13:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:13:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:13:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:13:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:13:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:13:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:13:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.13" ) +} +record(longout, "SR03C-VA-TSERV-02:13:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.13" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:13:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:13:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:13:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:13:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:13:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:13:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:13:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:13:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) +} +record(longin, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.13" ) + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:13:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:13:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:13:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:13:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:13:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:13:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:13:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.13.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:13:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:13:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.13" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:13:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_14, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=14, name=TSERV2_14 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:14:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:14:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:14:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:14:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:14:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:14:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:14:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:14:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:14:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:14:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:14:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:14:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:14:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:14:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:14:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:14:PORT") + field(LNK2, "SR03C-VA-TSERV-02:14:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:14:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:14:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:14:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:14:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:14:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:14:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:14:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:14:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:14:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:14:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:14:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:14:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:14:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:14:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:14:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:14:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +record(longin, "SR03C-VA-TSERV-02:14:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.14") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:14:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:14:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:14:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:14:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:14:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:14:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:14:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:14:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:14:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:14:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:14:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:14:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:14:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:14:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:14:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:14:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:14:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:14:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:14:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:14:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:14:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:14:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:14:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:14:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:14:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.14" ) +} +record(calcout, "SR03C-VA-TSERV-02:14:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:14:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:14:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:14:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:14:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:14:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:14:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:14:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:14:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:14:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:14:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:14:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:14:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:14:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:14:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:14:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:14:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:14:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:14:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:14:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:14:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.14" ) +} +record(longout, "SR03C-VA-TSERV-02:14:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.14" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:14:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:14:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:14:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:14:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:14:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:14:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:14:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:14:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) +} +record(longin, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.14" ) + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:14:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:14:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:14:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:14:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:14:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:14:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:14:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.14.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:14:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:14:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.14" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:14:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_15, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=15, name=TSERV2_15 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:15:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:15:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:15:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:15:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:15:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:15:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:15:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:15:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:15:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:15:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:15:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:15:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:15:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:15:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:15:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:15:PORT") + field(LNK2, "SR03C-VA-TSERV-02:15:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:15:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:15:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:15:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:15:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:15:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:15:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:15:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:15:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:15:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:15:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:15:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:15:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:15:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:15:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:15:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:15:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +record(longin, "SR03C-VA-TSERV-02:15:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.15") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:15:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:15:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:15:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:15:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:15:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:15:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:15:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:15:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:15:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:15:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:15:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:15:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:15:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:15:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:15:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:15:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:15:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:15:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:15:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:15:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:15:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:15:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:15:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:15:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:15:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.15" ) +} +record(calcout, "SR03C-VA-TSERV-02:15:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:15:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:15:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:15:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:15:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:15:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:15:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:15:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:15:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:15:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:15:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:15:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:15:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:15:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:15:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:15:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:15:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:15:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:15:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:15:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:15:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.15" ) +} +record(longout, "SR03C-VA-TSERV-02:15:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.15" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:15:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:15:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:15:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:15:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:15:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:15:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:15:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:15:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) +} +record(longin, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.15" ) + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:15:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:15:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:15:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:15:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:15:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:15:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:15:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.15.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:15:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:15:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.15" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:15:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + + +# MoxaChannel.template +# Moxa channel information +# % macro, P, Record name prefix +# % macro, R, Record name suffix +# % macro, CHAN, Channel number +# % macro, HOST, SNMP server host name +# % macro, name, object and GUI association name + +# % gui, TSERV2_16, boyembed, terminalServerApp_opi/terminalServerChannel.opi, P=SR03C-VA-TSERV-02, CHAN=16, name=TSERV2_16 + +# On the Moxa, the result from an SNMP request typically does +# not get into the PV in time for another PV that is processed by a +# forward link. So notice the use of CP links instead. + +# Process this record to poll all the infrequent changing parameters + +record(seq, "SR03C-VA-TSERV-02:16:POLL") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:16:POLLPORT.PROC") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:16:APPLICATIONRD.PROC") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIAS.PROC") + field(DOL4, "1") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATERD.PROC") + field(DOL5, "1") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSRD.PROC") + field(DOL6, "1") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSRD.PROC") + field(DOL7, "1") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYRD.PROC") + field(DOL8, "1") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD.PROC") + field(DOL9, "1") + field(LNK9, "SR03C-VA-TSERV-02:16:DEVCTLPORT.PROC") +} + +# Configuration controls + +record(sseq, "SR03C-VA-TSERV-02:16:DOWRITE") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:APPLICATIONCFG.RVAL") + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:16:PORTCFG") + field(LNK2, "SR03C-VA-TSERV-02:16:PORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:16:ALIASCFG") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIASWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:16:BAUDRATECFG.RVAL") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATEWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:16:DATABITSCFG.RVAL") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSWR CA") + field(WAIT5, "Wait") + field(DOL6, "SR03C-VA-TSERV-02:16:STOPBITSCFG.RVAL") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSWR CA") + field(WAIT6, "Wait") + field(DOL7, "SR03C-VA-TSERV-02:16:PARITYCFG.RVAL") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYWR CA") + field(WAIT7, "Wait") + field(DOL8, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG.RVAL") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLWR CA") + field(WAIT8, "Wait") + field(FLNK, "SR03C-VA-TSERV-02:16:DOWRITE2") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOWRITE2") +{ + field(SELM, "All") + field(DOL1, "1") + field(LNK1, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(DOL2, "1") + field(LNK2, "SR03C-VA-TSERV-02:DOSAVE CA") + field(WAIT2, "Wait") + field(DLY3, "5") + field(DOL3, "1") + field(LNK3, "SR03C-VA-TSERV-02:DORESTART CA") + field(WAIT3, "Wait") + field(DLY4, "5") + field(DOL4, "0") + field(LNK4, "SR03C-VA-TSERV-02:SNMPBUSY PP") + field(FLNK, "SR03C-VA-TSERV-02:16:POLL") +} +record(sseq, "SR03C-VA-TSERV-02:16:DOREAD") +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:APPLICATION") + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONCFG PP") + field(DOL2, "SR03C-VA-TSERV-02:16:PORT") + field(LNK2, "SR03C-VA-TSERV-02:16:PORTCFG PP") + field(DOL3, "SR03C-VA-TSERV-02:16:ALIAS") + field(LNK3, "SR03C-VA-TSERV-02:16:ALIASCFG PP") + field(DOL4, "SR03C-VA-TSERV-02:16:BAUDRATE") + field(LNK4, "SR03C-VA-TSERV-02:16:BAUDRATECFG PP") + field(DOL5, "SR03C-VA-TSERV-02:16:DATABITS") + field(LNK5, "SR03C-VA-TSERV-02:16:DATABITSCFG PP") + field(DOL6, "SR03C-VA-TSERV-02:16:STOPBITS") + field(LNK6, "SR03C-VA-TSERV-02:16:STOPBITSCFG PP") + field(DOL7, "SR03C-VA-TSERV-02:16:PARITY") + field(LNK7, "SR03C-VA-TSERV-02:16:PARITYCFG PP") + field(DOL8, "SR03C-VA-TSERV-02:16:FLOWCONTROL") + field(LNK8, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG PP") +} + +# Config matches device contents? +record(scalcout, "SR03C-VA-TSERV-02:16:MATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") + field(INPB, "SR03C-VA-TSERV-02:16:PORTMATCH") + field(INPC, "SR03C-VA-TSERV-02:16:ALIASMATCH") + field(INPD, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") + field(INPE, "SR03C-VA-TSERV-02:16:DATABITSMATCH") + field(INPF, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") + field(INPG, "SR03C-VA-TSERV-02:16:PARITYMATCH") + field(INPH, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") + field(CALC, "A&B&C&D&E&F&G&H") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") +} + +# Main port mode +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:APPLICATIONCFG") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:APPLICATIONWR") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +record(longin, "SR03C-VA-TSERV-02:16:APPLICATIONRD") +{ + field(DESC, "Port application") + field(DTYP, "Snmp") + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.1.1.1.2.16") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:APPLICATION") +{ + field(DESC, "Port application") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:APPLICATIONRD CP") + field(ZRVL, "0") + field(ONVL, "4") + field(TWVL, "11") + field(THVL, "13") + field(FRVL, "12") + field(FVVL, "2") + field(SXVL, "3") + field(SVVL, "6") + field(EIVL, "1") + field(ZRST, "disable") + field(ONST, "device control") + field(TWST, "socket") + field(THST, "pair connection") + field(FRST, "ethernet modem") + field(FVST, "terminal") + field(SXST, "reverse terminal") + field(SVST, "printer") + field(EIST, "dial in/out") + field(FLNK, "SR03C-VA-TSERV-02:16:APPLICATION2") +} +record(fanout, "SR03C-VA-TSERV-02:16:APPLICATION2") +{ + field(LNK1, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") + field(LNK2, "SR03C-VA-TSERV-02:16:POLLPORT") +} +record(scalcout, "SR03C-VA-TSERV-02:16:APPLICATIONMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATIONCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:APPLICATION.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +# TCP socket +# The OID depends on which application we are using + +record(calc, "SR03C-VA-TSERV-02:16:POLLPORT") +{ + field(INPA, "SR03C-VA-TSERV-02:16:APPLICATION CP") + field(CALC, "A+1") + field(FLNK, "SR03C-VA-TSERV-02:16:POLLPORT2") +} +record(fanout, "SR03C-VA-TSERV-02:16:POLLPORT2") +{ + field(LNK1, "SR03C-VA-TSERV-02:16:WHICHPORT") + field(LNK2, "SR03C-VA-TSERV-02:16:DEVCTLPORT") +} +record(seq, "SR03C-VA-TSERV-02:16:WHICHPORT") +{ + field(SELM, "Specified") + field(SELL, "SR03C-VA-TSERV-02:16:POLLPORT") + field(DOL1, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK1, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL2, "SR03C-VA-TSERV-02:16:DEVCTLPORT") + field(LNK2, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL3, "SR03C-VA-TSERV-02:16:SOCKETPORT") + field(LNK3, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL4, "SR03C-VA-TSERV-02:16:PAIRPORT") + field(LNK4, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL5, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") + field(LNK5, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL6, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK6, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL7, "SR03C-VA-TSERV-02:16:REVTERMPORT") + field(LNK7, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL8, "SR03C-VA-TSERV-02:16:PRINTERPORT") + field(LNK8, "SR03C-VA-TSERV-02:16:PORT PP") + field(DOL9, "SR03C-VA-TSERV-02:16:NOPORT") + field(LNK9, "SR03C-VA-TSERV-02:16:PORT PP") +} +#% archiver 60 monitor +record(longout, "SR03C-VA-TSERV-02:16:PORT") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:16:PORTMATCH") +} + +record(longout, "SR03C-VA-TSERV-02:16:NOPORT") +{ + field(VAL, "0") +} + +record(longin, "SR03C-VA-TSERV-02:16:DEVCTLPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:SOCKETPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:SOCKETPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PAIRPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:PAIRPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:ETHMODEMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:REVTERMPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:REVTERMPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PRINTERPORT") +} +record(longin, "SR03C-VA-TSERV-02:16:PRINTERPORT") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.7.1.1.2.16" ) +} +record(calcout, "SR03C-VA-TSERV-02:16:SELPORT1") +{ + field(INPA, "SR03C-VA-TSERV-02:16:DEVCTLPORT CP") + field(INPB, "SR03C-VA-TSERV-02:16:SOCKETPORT CP") + field(INPC, "SR03C-VA-TSERV-02:16:PAIRPORT CP") + field(INPD, "SR03C-VA-TSERV-02:16:ETHMODEMPORT CP") + field(INPE, "SR03C-VA-TSERV-02:16:REVTERMPORT CP") + field(INPF, "SR03C-VA-TSERV-02:16:PRINTERPORT CP") + field(CALC, "A+B+C+D+E+F") + field(OOPT, "Every Time") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "SR03C-VA-TSERV-02:16:WHICHPORT.PROC") +} +record(scalcout, "SR03C-VA-TSERV-02:16:PORTMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:PORTCFG") + field(INPB, "SR03C-VA-TSERV-02:16:PORT") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(longout, "SR03C-VA-TSERV-02:16:PORTCFG") +{ + field(VAL, "0") + field(FLNK, "SR03C-VA-TSERV-02:16:PORTMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:PORTWR") +{ + field(FLNK, "SR03C-VA-TSERV-02:16:PORTWR2") +} +record(sseq, SR03C-VA-TSERV-02:16:PORTWR2) +{ + field(SELM, "All") + field(DOL1, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK1, "SR03C-VA-TSERV-02:16:DEVCTLPORTWR CA") + field(WAIT1, "Wait") + field(DOL2, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK2, "SR03C-VA-TSERV-02:16:SOCKETPORTWR CA") + field(WAIT2, "Wait") + field(DOL3, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK3, "SR03C-VA-TSERV-02:16:PAIRPORTWR CA") + field(WAIT3, "Wait") + field(DOL4, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK4, "SR03C-VA-TSERV-02:16:ETHMODEMPORTWR CA") + field(WAIT4, "Wait") + field(DOL5, "SR03C-VA-TSERV-02:16:PORTWR") + field(LNK5, "SR03C-VA-TSERV-02:16:REVTERMPORTWR CA") + field(WAIT5, "Wait") +} +record(longout, "SR03C-VA-TSERV-02:16:DEVCTLPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.1.1.1.11.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:SOCKETPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.2.1.1.8.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:PAIRPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.3.1.1.5.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:ETHMODEMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.4.1.1.2.16" ) +} +record(longout, "SR03C-VA-TSERV-02:16:REVTERMPORTWR") +{ + field(DESC, "Port number" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.1.2.6.1.1.3.16" ) +} + + + +# Communication parameters + +#% autosave 2 VAL +record(stringout, "SR03C-VA-TSERV-02:16:ALIASCFG") +{ + field(DESC, "Port alias" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ALIASMATCH") +} +record(stringout, "SR03C-VA-TSERV-02:16:ALIASWR") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) +} +#% archiver 60 monitor +record(stringin, "SR03C-VA-TSERV-02:16:ALIAS") +{ + field(DESC, "Port alias" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.1.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:ALIASMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:ALIASMATCH") +{ + field(INAA, "SR03C-VA-TSERV-02:16:ALIASCFG") + field(INBB, "SR03C-VA-TSERV-02:16:ALIAS") + field(CALC, "AA=BB") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:BAUDRATECFG") +{ + field(DESC, "Port baud rate") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "2") + field(ONVL, "5") + field(TWVL, "6") + field(THVL, "7") + field(FRVL, "8") + field(FVVL, "9") + field(SXVL, "10") + field(SVVL, "11") + field(EIVL, "12") + field(NIVL, "13") + field(TEVL, "14") + field(ELVL, "15") + field(TVVL, "16") + field(TTVL, "17") + field(FTVL, "18") + field(FFVL, "19") + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:BAUDRATEWR") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:BAUDRATERD") +{ + field(DESC, "Port baud rate" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.3.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATE") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:BAUDRATE") +{ + field(DESC, "Port baud rate") + field(INP, "SR03C-VA-TSERV-02:16:BAUDRATERD") + field(DTYP, "Raw Soft Channel") + field(ZRST, "110") + field(ONST, "300") + field(TWST, "600") + field(THST, "1200") + field(FRST, "1800") + field(FVST, "2400") + field(SXST, "4800") + field(SVST, "7200") + field(EIST, "9600") + field(NIST, "19200") + field(TEST, "38400") + field(ELST, "57600") + field(TVST, "115200") + field(TTST, "230400") + field(FTST, "460800") + field(FFST, "921600") + field(ZRVL, "110") + field(ONVL, "300") + field(TWVL, "600") + field(THVL, "1200") + field(FRVL, "1800") + field(FVVL, "2400") + field(SXVL, "4800") + field(SVVL, "7200") + field(EIVL, "9600") + field(NIVL, "19200") + field(TEVL, "38400") + field(ELVL, "57600") + field(TVVL, "115200") + field(TTVL, "230400") + field(FTVL, "460800") + field(FFVL, "921600") + field(FLNK, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:BAUDRATEMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:BAUDRATECFG") + field(INPB, "SR03C-VA-TSERV-02:16:BAUDRATE") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:DATABITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:DATABITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:DATABITSRD") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.5.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:DATABITS") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:DATABITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "5 bits") + field(ONST, "6 bits") + field(TWST, "7 bits") + field(THST, "8 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:DATABITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:DATABITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:DATABITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:STOPBITSCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:STOPBITSWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:STOPBITSRD") +{ + field(DESC, "Port stop bits" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.6.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITS") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:STOPBITS") +{ + field(DESC, "Port stop bits") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:STOPBITSRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "1 bit") + field(ONST, "1.5 bits") + field(TWST, "2 bits") + field(FLNK, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:STOPBITSMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:STOPBITSCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:STOPBITS.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:PARITYCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITYMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:PARITYWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:PARITYRD") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.7.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:PARITY") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:PARITYRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(ZRST, "none") + field(ONST, "odd") + field(TWST, "even") + field(THST, "mark") + field(FRST, "space") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITYMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:PARITYMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:PARITYCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:PARITY.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +#% autosave 2 VAL +record(mbbo, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG") +{ + field(DESC, "Port data bits") + field(DTYP, "Raw Soft Channel") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +} +record(longout, "SR03C-VA-TSERV-02:16:FLOWCONTROLWR") +{ + field(DESC, "Port data bits" ) + field(DTYP, "Snmp" ) + field(OUT, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) +} +record(longin, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD") +{ + field(DESC, "Port flow control" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.4.2.1.1.8.16" ) + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROL") +} +#% archiver 60 monitor +record(mbbi, "SR03C-VA-TSERV-02:16:FLOWCONTROL") +{ + field(DESC, "Port parity") + field(DTYP, "Raw Soft Channel") + field(INP, "SR03C-VA-TSERV-02:16:FLOWCONTROLRD") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(ZRST, "none") + field(ONST, "rts/cts") + field(TWST, "xon/xoff") + field(THST, "dtr/dsr") + field(FLNK, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +} +record(scalcout, "SR03C-VA-TSERV-02:16:FLOWCONTROLMATCH") +{ + field(INPA, "SR03C-VA-TSERV-02:16:FLOWCONTROLCFG.RVAL") + field(INPB, "SR03C-VA-TSERV-02:16:FLOWCONTROL.RVAL") + field(CALC, "A=B") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") + field(FLNK, "SR03C-VA-TSERV-02:16:MATCH") +} + +# Monitoring + +record(stringin, "SR03C-VA-TSERV-02:16:REMOTEIP") +{ + field(DESC, "Remote IP" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.1.1.1.2.16.1" ) + field(SCAN, "5 second") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:16:TXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.3.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} + +record(longin, "SR03C-VA-TSERV-02:16:RXTOTALCOUNT") +{ + field(DESC, "Port parity" ) + field(DTYP, "Snmp" ) + field(INP, "@192.168.3.12:161 private 1.3.6.1.4.1.8691.2.8.1.6.2.1.1.4.16" ) + field(SCAN, "5 second") + field(FLNK, "SR03C-VA-TSERV-02:16:PARITY") + field(DISV, "1") + field(SDIS, "SR03C-VA-TSERV-02:SNMPBUSY") +} diff --git a/tests/samples/sr03c-va-ioc-01.yaml b/tests/samples/sr03c-va-ioc-01.yaml new file mode 100644 index 0000000..e85ebd3 --- /dev/null +++ b/tests/samples/sr03c-va-ioc-01.yaml @@ -0,0 +1,1077 @@ +# yaml-language-server: $schema=/epics/ibek-defs/ioc.schema.json + +ioc_name: "{{ _global.get_env('IOC_NAME') }}" + +description: auto-generated by https://github.com/epics-containers/builder2ibek + +entities: + + - type: epics.EpicsEnvSet + name: EPICS_TS_MIN_WEST + value: '0' + + - type: devIocStats.iocAdminSoft + IOC: '{{ ioc_name | upper }}' + + - type: epics.EpicsEnvSet + name: EPICS_CA_AUTO_ADDR_LIST + value: NO + + - type: epics.EpicsEnvSet + name: EPICS_CA_ADDR_LIST + value: 172.23.207.255 + + - type: epics.EpicsEnvSet + name: EPICS_CAS_AUTO_BEACON_ADDR_LIST + value: NO + + - type: epics.EpicsEnvSet + name: EPICS_CAS_BEACON_ADDR_LIST + value: 172.23.194.105 + + - type: autosave.Autosave + P: 'SR03C-VA-IOC-01:' + + - type: asyn.AsynIP + name: GCTLR_A_01_PORT + port: 192.168.3.11:7002 + + - type: asyn.AsynIP + name: GCTLR_S_01_PORT + port: 192.168.3.11:7003 + + - type: asyn.AsynIP + name: MPC_S_01_PORT + port: 192.168.3.11:7004 + + - type: asyn.AsynIP + name: MPC_A_01_PORT + port: 192.168.3.11:7005 + + - type: asyn.AsynIP + name: MPC_A_02_PORT + port: 192.168.3.11:7006 + + - type: asyn.AsynIP + name: RGA_PC_01_PORT + port: 192.168.3.12:7001 + + - type: asyn.AsynIP + name: GCTLR_A_02_PORT + port: 192.168.3.12:7003 + + - type: asyn.AsynIP + name: GCTLR_A_03_PORT + port: 192.168.3.12:7004 + + - type: asyn.AsynIP + name: MPC_A_03_PORT + port: 192.168.3.12:7005 + + - type: asyn.AsynIP + name: MPC_A_04_PORT + port: 192.168.3.12:7006 + + - type: asyn.AsynIP + name: MPC_A_05_PORT + port: 192.168.3.12:7007 + + - type: asyn.AsynIP + name: MPC_A_06_PORT + port: 192.168.3.12:7008 + + - type: asyn.AsynIP + name: MPC_A_07_PORT + port: 192.168.3.12:7009 + + - type: asyn.AsynIP + name: MPC_A_08_PORT + port: 192.168.3.12:7010 + + - type: FINS.FINSUDPInit + ip: 192.168.3.10 + name: VLVCC_01_FINS + simulation: None + + - type: ether_ip.EtherIPInit + device: SR03C-VA-VLVCC-01 + ip: 192.168.3.10 + name: VLVCC_01.INFO + port: VLVCC_01_EIP + + - type: dlsPLC.NX102_readReal + device: SR03S-VA-GAUGE-01:RAW + port: VLVCC_01_EIP + tag: SR03S_VC1_GCTLR_01_COMB_A_C1_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03S-VA-GAUGE-02:RAW + port: VLVCC_01_EIP + tag: SR03S_VC1_GCTLR_01_COMB_B_C2_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03A-VA-GAUGE-01:RAW + port: VLVCC_01_EIP + tag: SR03A_VC1_GCTLR_01_COMB_A_C1_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03A-VA-GAUGE-02:RAW + port: VLVCC_01_EIP + tag: SR03A_VC1_GCTLR_01_COMB_B_C2_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03A-VA-GAUGE-03:RAW + port: VLVCC_01_EIP + tag: SR03A_VC2_GCTLR_02_COMB_B_C2_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03A-VA-GAUGE-31:RAW + port: VLVCC_01_EIP + tag: SR03A_VC2_GCTLR_03_COMB_A_C1_Comb_mBar + + - type: dlsPLC.NX102_readReal + device: SR03A-VA-GAUGE-04:RAW + port: VLVCC_01_EIP + tag: SR03A_VC2_GCTLR_03_COMB_B_C2_Comb_mBar + + - type: mks937a.mks937a + device: SR03S-VA-GCTLR-01 + name: GCTLR_S_01 + port: GCTLR_S_01_PORT + + - type: mks937a.mks937a + device: SR03A-VA-GCTLR-01 + name: GCTLR_A_01 + port: GCTLR_A_01_PORT + + - type: mks937a.mks937a + device: SR03A-VA-GCTLR-02 + name: GCTLR_A_02 + port: GCTLR_A_02_PORT + + - type: mks937a.mks937a + device: SR03A-VA-GCTLR-03 + name: GCTLR_A_03 + port: GCTLR_A_03_PORT + + - type: mks937a.mks937aGaugeEGU + dom: SR03S + id: 1 + input: SR03S-VA-GAUGE-01:RAW + name: GAUGE_S_01 + + - type: mks937a.mks937aGaugeEGU + dom: SR03S + id: 2 + input: SR03S-VA-GAUGE-02:RAW + name: GAUGE_S_02 + + - type: mks937a.mks937aGaugeEGU + dom: SR03A + id: 1 + input: SR03A-VA-GAUGE-01:RAW + name: GAUGE_A_01 + + - type: mks937a.mks937aGaugeEGU + dom: SR03A + id: 2 + input: SR03A-VA-GAUGE-02:RAW + name: GAUGE_A_02 + + - type: mks937a.mks937aGaugeEGU + dom: SR03A + id: 3 + input: SR03A-VA-GAUGE-03:RAW + name: GAUGE_A_03 + + - type: mks937a.mks937aGaugeEGU + dom: SR03A + id: 4 + input: SR03A-VA-GAUGE-04:RAW + name: GAUGE_A_04 + + - type: mks937a.mks937aGaugeEGU + dom: SR03A + id: 31 + input: SR03A-VA-GAUGE-31:RAW + name: GAUGE_A_31 + + - type: mks937a.mks937aImg + GCTLR: GCTLR_S_01 + channel: 1 + device: SR03S-VA-IMG-01 + ilk_write_access_pv: SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_S_01 + channel: 2 + device: SR03S-VA-IMG-02 + ilk_write_access_pv: SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_A_01 + channel: 1 + device: SR03A-VA-IMG-01 + ilk_write_access_pv: SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_A_01 + channel: 2 + device: SR03A-VA-IMG-02 + ilk_write_access_pv: SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_A_02 + channel: 2 + device: SR03A-VA-IMG-03 + ilk_write_access_pv: SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_A_03 + channel: 2 + device: SR03A-VA-IMG-04 + ilk_write_access_pv: SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE + + - type: mks937a.mks937aImg + GCTLR: GCTLR_A_03 + channel: 1 + device: SR03A-VA-IMG-31 + ilk_write_access_pv: SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_S_01 + channel: 4 + device: SR03S-VA-PIRG-01 + ilk_write_access_pv: SR03S-VA-GAUGE-01:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_S_01 + channel: 5 + device: SR03S-VA-PIRG-02 + ilk_write_access_pv: SR03S-VA-GAUGE-02:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_A_01 + channel: 4 + device: SR03A-VA-PIRG-01 + ilk_write_access_pv: SR03A-VA-GAUGE-01:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_A_01 + channel: 5 + device: SR03A-VA-PIRG-02 + ilk_write_access_pv: SR03A-VA-GAUGE-02:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_A_02 + channel: 5 + device: SR03A-VA-PIRG-03 + ilk_write_access_pv: SR03A-VA-GAUGE-03:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_A_03 + channel: 5 + device: SR03A-VA-PIRG-04 + ilk_write_access_pv: SR03A-VA-GAUGE-04:ILKSETSP:NOWRITE + + - type: mks937a.mks937aPirg + GCTLR: GCTLR_A_03 + channel: 4 + device: SR03A-VA-PIRG-31 + ilk_write_access_pv: SR03A-VA-GAUGE-31:ILKSETSP:NOWRITE + + - type: digitelMpc.digitelMpc + device: SR03S-VA-MPC-01 + name: MPC_S_01 + port: MPC_S_01_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-01 + name: MPC_A_01 + port: MPC_A_01_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-02 + name: MPC_A_02 + port: MPC_A_02_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-03 + name: MPC_A_03 + port: MPC_A_03_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-04 + name: MPC_A_04 + port: MPC_A_04_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-05 + name: MPC_A_05 + port: MPC_A_05_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-06 + name: MPC_A_06 + port: MPC_A_06_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-07 + name: MPC_A_07 + port: MPC_A_07_PORT + unit: '01' + + - type: digitelMpc.digitelMpc + device: SR03A-VA-MPC-08 + name: MPC_A_08 + port: MPC_A_08_PORT + unit: '01' + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_S_01 + device: SR03S-VA-IONP-01 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_S_01 + device: SR03S-VA-IONP-03 + proto: digitelMpc.proto + pump: 2 + size: 300 + sp1off: 2e-08 + sp1on: 1e-08 + sp2off: 2e-08 + sp2on: 1e-08 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_01 + device: SR03A-VA-IONP-01 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_01 + device: SR03A-VA-IONP-02 + proto: digitelMpc.proto + pump: 2 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_02 + device: SR03A-VA-IONP-03 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_02 + device: SR03A-VA-IONP-04 + proto: digitelMpc.proto + pump: 2 + size: 500 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_03 + device: SR03A-VA-IONP-05 + proto: digitelMpc.proto + pump: 1 + size: 500 + sp1off: 2e-08 + sp1on: 1e-08 + sp2off: 2e-08 + sp2on: 1e-08 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_03 + device: SR03A-VA-IONP-06 + proto: digitelMpc.proto + pump: 2 + size: 500 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_04 + device: SR03A-VA-IONP-07 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_04 + device: SR03A-VA-IONP-08 + proto: digitelMpc.proto + pump: 2 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_06 + device: SR03A-VA-IONP-09 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_05 + device: SR03A-VA-IONP-10 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_06 + device: SR03A-VA-IONP-11 + proto: digitelMpc.proto + pump: 2 + size: 500 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_05 + device: SR03A-VA-IONP-12 + proto: digitelMpc.proto + pump: 2 + size: 500 + sp1off: 2e-08 + sp1on: 1e-08 + sp2off: 2e-08 + sp2on: 1e-08 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_07 + device: SR03A-VA-IONP-13 + proto: digitelMpc.proto + pump: 1 + size: 500 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_07 + device: SR03A-VA-IONP-14 + proto: digitelMpc.proto + pump: 2 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_08 + device: SR03A-VA-IONP-15 + proto: digitelMpc.proto + pump: 1 + size: 300 + sp1off: 0.0001 + sp1on: 1e-10 + sp2off: 0.0001 + sp2on: 1e-10 + + - type: digitelMpc.digitelMpcIonp + MPC: MPC_A_08 + device: SR03A-VA-IONP-16 + proto: digitelMpc.proto + pump: 2 + size: 300 + sp1off: 2e-08 + sp1on: 1e-08 + sp2off: 2e-08 + sp2on: 1e-08 + + - type: dlsPLC.NX102_vacValveDebounce + ILKNUM: 1 + device: SR03A-VA-VALVE-01 + name: V1 + port: VLVCC_01_EIP + tag: V + tagidx: 1 + + - type: dlsPLC.NX102_vacValveDebounce + ILKNUM: 1 + device: SR03A-VA-VALVE-02 + name: V2 + port: VLVCC_01_EIP + tag: V + tagidx: 2 + + - type: dlsPLC.NX102_vacValveDebounce + ILKNUM: 1 + device: SR03A-VA-VALVE-03 + name: V3 + port: VLVCC_01_EIP + tag: V + tagidx: 3 + + - type: dlsPLC.NX102_vacValveDebounce + ILKNUM: 1 + device: SR03A-VA-VALVE-04 + name: V4 + port: VLVCC_01_EIP + tag: V + tagidx: 4 + + - type: rga.rga + channel: 1 + device: SR03S-VA-RGA-01 + port: RGA_PC_01_PORT + + - type: rga.rga + channel: 2 + device: SR03A-VA-RGA-01 + port: RGA_PC_01_PORT + + - type: rga.rga + channel: 3 + device: SR03A-VA-RGA-02 + port: RGA_PC_01_PORT + + - type: rga.rga + channel: 4 + device: FE03I-VA-RGA-01 + port: RGA_PC_01_PORT + + - type: rga.rga + channel: 5 + device: BL03I-VA-RGA-01 + port: RGA_PC_01_PORT + + - type: rga.rga + channel: 6 + device: SR03I-VA-RGA-01 + port: RGA_PC_01_PORT + + - type: vacuumSpace.spaceTemplate + device: SR03S-VA-SPACE-01 + gauge: SR03S-VA-GGAUG-01 + img: SR03S-VA-GIMG-01 + ionp: SR03S-VA-GIONP-01 + pirg: SR03S-VA-GPIRG-01 + valve: SR03S-VA-GVALV-01 + + - type: vacuumSpace.spaceTemplate + device: SR03A-VA-SPACE-01 + gauge: SR03A-VA-GGAUG-01 + img: SR03A-VA-GIMG-01 + ionp: SR03A-VA-GIONP-01 + pirg: SR03A-VA-GPIRG-01 + valve: SR03A-VA-GVALV-01 + + - type: vacuumSpace.spaceTemplate + device: SR03C-VA-SPACE-01 + gauge: SR03C-VA-GGAUG-01 + img: SR03C-VA-GIMG-01 + ionp: SR03C-VA-GIONP-01 + pirg: SR03C-VA-GPIRG-01 + valve: SR03C-VA-GVALV-01 + + - type: digitelMpc.digitelMpcIonpGroup + delay: 2 + device: SR03S-VA-GIONP-01 + ionp1: SR03S-VA-IONP-01 + ionp2: SR03S-VA-IONP-01 + ionp3: SR03S-VA-IONP-01 + ionp4: SR03S-VA-IONP-01 + ionp5: SR03S-VA-IONP-01 + ionp6: SR03S-VA-IONP-03 + ionp7: SR03S-VA-IONP-03 + ionp8: SR03S-VA-IONP-03 + + - type: digitelMpc.digitelMpcIonpGroup + delay: 10 + device: SR03A-VA-GIONP-02 + ionp1: SR03A-VA-IONP-01 + ionp2: SR03A-VA-IONP-02 + ionp3: SR03A-VA-IONP-03 + ionp4: SR03A-VA-IONP-04 + ionp5: SR03A-VA-IONP-05 + ionp6: SR03A-VA-IONP-06 + ionp7: SR03A-VA-IONP-07 + ionp8: SR03A-VA-IONP-08 + + - type: digitelMpc.digitelMpcIonpGroup + delay: 10 + device: SR03A-VA-GIONP-03 + ionp1: SR03A-VA-IONP-09 + ionp2: SR03A-VA-IONP-10 + ionp3: SR03A-VA-IONP-11 + ionp4: SR03A-VA-IONP-12 + ionp5: SR03A-VA-IONP-13 + ionp6: SR03A-VA-IONP-14 + ionp7: SR03A-VA-IONP-15 + ionp8: SR03A-VA-IONP-16 + + - type: digitelMpc.digitelMpcIonpGroup + delay: 20 + device: SR03A-VA-GIONP-01 + ionp1: SR03A-VA-GIONP-02 + ionp2: SR03A-VA-GIONP-02 + ionp3: SR03A-VA-GIONP-02 + ionp4: SR03A-VA-GIONP-02 + ionp5: SR03A-VA-GIONP-03 + ionp6: SR03A-VA-GIONP-03 + ionp7: SR03A-VA-GIONP-03 + ionp8: SR03A-VA-GIONP-03 + + - type: digitelMpc.digitelMpcIonpGroup + delay: 26 + device: SR03C-VA-GIONP-01 + ionp1: SR03A-VA-GIONP-01 + ionp2: SR03A-VA-GIONP-01 + ionp3: SR03A-VA-GIONP-01 + ionp4: SR03A-VA-GIONP-01 + ionp5: SR03A-VA-GIONP-01 + ionp6: SR03A-VA-GIONP-01 + ionp7: SR03S-VA-GIONP-01 + ionp8: SR03I-VA-GIONP-01 + + - type: mks937a.mks937aGaugeGroup + device: SR03S-VA-GGAUG-01 + gauge1: SR03S-VA-GAUGE-01 + gauge2: SR03S-VA-GAUGE-02 + gauge3: SR03S-VA-GAUGE-01 + gauge4: SR03S-VA-GAUGE-01 + gauge5: SR03S-VA-GAUGE-01 + gauge6: SR03S-VA-GAUGE-01 + gauge7: SR03S-VA-GAUGE-01 + gauge8: SR03S-VA-GAUGE-01 + + - type: mks937a.mks937aGaugeGroup + device: SR03A-VA-GGAUG-01 + gauge1: SR03A-VA-GAUGE-01 + gauge2: SR03A-VA-GAUGE-02 + gauge3: SR03A-VA-GAUGE-03 + gauge4: SR03A-VA-GAUGE-04 + gauge5: SR03A-VA-GAUGE-01 + gauge6: SR03A-VA-GAUGE-01 + gauge7: SR03A-VA-GAUGE-31 + gauge8: SR03A-VA-GAUGE-31 + + - type: mks937a.mks937aGaugeGroup + device: SR03C-VA-GGAUG-01 + gauge1: SR03S-VA-GGAUG-01 + gauge2: SR03A-VA-GGAUG-01 + gauge3: SR03I-VA-GGAUG-01 + gauge4: SR03S-VA-GGAUG-01 + gauge5: SR03S-VA-GGAUG-01 + gauge6: SR03S-VA-GGAUG-01 + gauge7: SR03S-VA-GGAUG-01 + gauge8: SR03S-VA-GGAUG-01 + + - type: mks937a.mks937aImgGroup + delay: 0 + device: SR03S-VA-GIMG-01 + img1: SR03S-VA-IMG-01 + img2: SR03S-VA-IMG-02 + img3: SR03S-VA-IMG-01 + img4: SR03S-VA-IMG-01 + img5: SR03S-VA-IMG-01 + img6: SR03S-VA-IMG-01 + img7: SR03S-VA-IMG-01 + img8: SR03S-VA-IMG-01 + + - type: mks937a.mks937aImgGroup + delay: 0 + device: SR03A-VA-GIMG-01 + img1: SR03A-VA-IMG-01 + img2: SR03A-VA-IMG-02 + img3: SR03A-VA-IMG-03 + img4: SR03A-VA-IMG-04 + img5: SR03A-VA-IMG-01 + img6: SR03A-VA-IMG-01 + img7: SR03A-VA-IMG-31 + img8: SR03A-VA-IMG-31 + + - type: mks937a.mks937aImgGroup + delay: 0 + device: SR03C-VA-GIMG-01 + img1: SR03S-VA-GIMG-01 + img2: SR03A-VA-GIMG-01 + img3: SR03I-VA-GIMG-01 + img4: SR03S-VA-GIMG-01 + img5: SR03S-VA-GIMG-01 + img6: SR03S-VA-GIMG-01 + img7: SR03S-VA-GIMG-01 + img8: SR03S-VA-GIMG-01 + + - type: mks937a.mks937aPirgGroup + device: SR03S-VA-GPIRG-01 + pirg1: SR03S-VA-PIRG-01 + pirg2: SR03S-VA-PIRG-02 + pirg3: SR03S-VA-PIRG-01 + pirg4: SR03S-VA-PIRG-01 + pirg5: SR03S-VA-PIRG-01 + pirg6: SR03S-VA-PIRG-01 + pirg7: SR03S-VA-PIRG-01 + pirg8: SR03S-VA-PIRG-01 + + - type: mks937a.mks937aPirgGroup + device: SR03A-VA-GPIRG-01 + pirg1: SR03A-VA-PIRG-01 + pirg2: SR03A-VA-PIRG-02 + pirg3: SR03A-VA-PIRG-03 + pirg4: SR03A-VA-PIRG-04 + pirg5: SR03A-VA-PIRG-01 + pirg6: SR03A-VA-PIRG-01 + pirg7: SR03A-VA-PIRG-31 + pirg8: SR03A-VA-PIRG-31 + + - type: mks937a.mks937aPirgGroup + device: SR03C-VA-GPIRG-01 + pirg1: SR03S-VA-GPIRG-01 + pirg2: SR03A-VA-GPIRG-01 + pirg3: SR03I-VA-GPIRG-01 + pirg4: SR03S-VA-GPIRG-01 + pirg5: SR03S-VA-GPIRG-01 + pirg6: SR03S-VA-GPIRG-01 + pirg7: SR03S-VA-GPIRG-01 + pirg8: SR03S-VA-GPIRG-01 + + - type: dlsPLC.vacValveGroup + delay: 0 + device: SR03S-VA-GVALV-01 + valve1: SR03A-VA-VALVE-01 + valve2: SR03A-VA-VALVE-01 + valve3: SR03A-VA-VALVE-01 + valve4: SR03A-VA-VALVE-01 + valve5: SR03A-VA-VALVE-01 + valve6: SR03A-VA-VALVE-01 + valve7: SR03A-VA-VALVE-01 + valve8: SR03A-VA-VALVE-01 + + - type: dlsPLC.vacValveGroup + delay: 5 + device: SR03A-VA-GVALV-01 + valve1: SR03A-VA-VALVE-02 + valve2: SR03A-VA-VALVE-03 + valve3: SR03A-VA-VALVE-01 + valve4: SR03A-VA-VALVE-04 + valve5: SR03A-VA-VALVE-02 + valve6: SR03A-VA-VALVE-02 + valve7: SR03A-VA-VALVE-02 + valve8: SR03A-VA-VALVE-02 + + - type: dlsPLC.vacValveGroup + delay: 5 + device: SR03C-VA-GVALV-01 + valve1: SR03A-VA-GVALV-01 + valve2: SR03A-VA-GVALV-01 + valve3: SR03A-VA-GVALV-01 + valve4: SR03A-VA-GVALV-01 + valve5: SR03S-VA-GVALV-01 + valve6: SR03S-VA-GVALV-01 + valve7: SR03S-VA-GVALV-01 + valve8: SR03S-VA-GVALV-01 + + - type: rga.rgaGroup + device: SR03C-VA-GRGA-01 + rga1: SR03S-VA-RGA-01 + rga2: SR03A-VA-RGA-01 + rga3: SR03A-VA-RGA-02 + rga4: SR03I-VA-RGA-01 + rga5: FE03I-VA-RGA-01 + rga6: BL03I-VA-RGA-01 + rga7: SR03S-VA-RGA-01 + rga8: SR03S-VA-RGA-01 + + - type: digitelMpc.digitelMpcTspGroup + device: SR03C-VA-GTSP-01 + tsp1: SR03I-VA-TSP-01 + tsp2: SR03I-VA-TSP-01 + tsp3: SR03I-VA-TSP-01 + tsp4: SR03I-VA-TSP-02 + tsp5: SR03I-VA-TSP-02 + tsp6: SR03I-VA-TSP-02 + tsp7: SR03I-VA-TSP-02 + tsp8: SR03I-VA-TSP-02 + + - type: mks937a.mks937aImgMean + current: SR-DI-DCCT-01:SIGNAL + device: SR03S-VA-MIMG-01 + img1: SR03S-VA-IMG-01 + img10: SR03S-VA-IMG-01 + img2: SR03S-VA-IMG-02 + img3: SR03S-VA-IMG-01 + img4: SR03S-VA-IMG-01 + img5: SR03S-VA-IMG-01 + img6: SR03S-VA-IMG-01 + img7: SR03S-VA-IMG-01 + img8: SR03S-VA-IMG-01 + img9: SR03S-VA-IMG-01 + nimgs: 2 + + - type: mks937a.mks937aImgMean + current: SR-DI-DCCT-01:SIGNAL + device: SR03A-VA-MIMG-01 + img1: SR03A-VA-IMG-01 + img10: SR03S-VA-IMG-01 + img2: SR03A-VA-IMG-02 + img3: SR03A-VA-IMG-03 + img4: SR03A-VA-IMG-04 + img5: SR03A-VA-IMG-01 + img6: SR03A-VA-IMG-01 + img7: SR03A-VA-IMG-01 + img8: SR03A-VA-IMG-01 + img9: SR03S-VA-IMG-01 + nimgs: 4 + + - type: mks937a.mks937aImgMean + current: SR-DI-DCCT-01:SIGNAL + device: SR03C-VA-MIMG-01 + img1: SR03S-VA-IMG-01 + img10: SR03A-VA-IMG-01 + img2: SR03S-VA-IMG-02 + img3: SR03A-VA-IMG-01 + img4: SR03A-VA-IMG-02 + img5: SR03A-VA-IMG-03 + img6: SR03A-VA-IMG-04 + img7: SR03I-VA-IMG-01 + img8: SR03I-VA-IMG-02 + img9: SR03I-VA-IMG-03 + nimgs: 9 + + - type: mks937a.mks937aImgMean + current: SR-DI-DCCT-01:SIGNAL + device: SR03S-VA-MIMG-02 + img1: SR03S-VA-IMG-01 + img10: SR03A-VA-IMG-01 + img2: SR03S-VA-IMG-02 + img3: SR03A-VA-IMG-01 + img4: SR03A-VA-IMG-02 + img5: SR02A-VA-IMG-13 + img6: SR02A-VA-IMG-14 + img7: SR03I-VA-IMG-01 + img8: SR03I-VA-IMG-02 + img9: SR03I-VA-IMG-03 + nimgs: 9 + + - type: dlsPLC.NX102_digitalIn + device: SR03C-VA-VLVCC-01:DIGITAL01 + name: DIG_01 + port: VLVCC_01_EIP + tagidx: 1 + + - type: dlsPLC.NX102_digitalIn + device: SR03C-VA-VLVCC-01:DIGITAL02 + name: DIG_02 + port: VLVCC_01_EIP + tagidx: 2 + + - type: userIO.bi + DESC: Rack 01 Fan Status + DTYP: Soft Channel + INP: SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B0 CP + ONAM: HEALTHY + OSV: NO_ALARM + P: SR03C-VA-FANC-01 + R: :STA + SCAN: Passive + ZNAM: FAIL + ZSV: MAJOR + archiver_rate: 3600 Monitor + name: VAFAN_01 + + - type: userIO.bi + DESC: Rack 02 Fan Status + DTYP: Soft Channel + INP: SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B1 CP + ONAM: HEALTHY + OSV: NO_ALARM + P: SR03C-VA-FANC-02 + R: :STA + SCAN: Passive + ZNAM: FAIL + ZSV: MAJOR + archiver_rate: 3600 Monitor + name: VAFAN_02 + + - type: userIO.bi + DESC: Rack 03 Fan Status + DTYP: Soft Channel + INP: SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B2 CP + ONAM: HEALTHY + OSV: NO_ALARM + P: SR03C-VA-FANC-03 + R: :STA + SCAN: Passive + ZNAM: FAIL + ZSV: MAJOR + archiver_rate: 3600 Monitor + name: VAFAN_03 + + - type: userIO.bi + DESC: Rack 01 Duplex PSU Status + DTYP: Soft Channel + INP: SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B3 CP + ONAM: HEALTHY + OSV: NO_ALARM + P: SR03C-VA-PSU-01 + R: :STA + SCAN: Passive + ZNAM: FAIL + ZSV: MAJOR + archiver_rate: 3600 Monitor + name: VAPSU_01 + + - type: userIO.bi + DESC: Rack 02 Duplex PSU Status + DTYP: Soft Channel + INP: SR03C-VA-VLVCC-01:DIGITAL01:RAWBIT.B4 CP + ONAM: HEALTHY + OSV: NO_ALARM + P: SR03C-VA-PSU-02 + R: :STA + SCAN: Passive + ZNAM: FAIL + ZSV: MAJOR + archiver_rate: 3600 Monitor + name: VAPSU_02 + + - type: dlsPLC.NX102_powerSupply + device: SR03C-VA-PSU-01:1 + name: PSU01.1 + port: VLVCC_01_EIP + tagidx: 1 + + - type: dlsPLC.NX102_powerSupply + device: SR03C-VA-PSU-01:2 + name: PSU01.2 + port: VLVCC_01_EIP + tagidx: 2 + + - type: dlsPLC.NX102_powerSupply + device: SR03C-VA-PSU-02:1 + name: PSU02.1 + port: VLVCC_01_EIP + tagidx: 3 + + - type: dlsPLC.NX102_powerSupply + device: SR03C-VA-PSU-02:2 + name: PSU02.2 + port: VLVCC_01_EIP + tagidx: 4 + + - type: dlsPLC.NX102_IRVacuum + P: SR03A-VA-VALVE-01 + port: VLVCC_01_EIP + + - type: dlsPLC.fastVacuumMaster + dom: SR03C + eip_port: VLVCC_01_EIP + fins_port: VLVCC_01_FINS + name: FV.MASTER + + - type: dlsPLC.fastVacuumChannel + id: '01' + img: SR03S-VA-IMG-01 + master: FV.MASTER + name: FV.G1 + + - type: dlsPLC.fastVacuumChannel + id: '02' + img: SR03S-VA-IMG-02 + master: FV.MASTER + name: FV.G2 + + - type: dlsPLC.fastVacuumChannel + id: '03' + img: SR03A-VA-IMG-01 + master: FV.MASTER + name: FV.G3 + + - type: dlsPLC.fastVacuumChannel + id: '04' + img: SR03A-VA-IMG-02 + master: FV.MASTER + name: FV.G4 + + - type: dlsPLC.fastVacuumChannel + id: '05' + img: SR03A-VA-IMG-03 + master: FV.MASTER + name: FV.G5 + + - type: dlsPLC.fastVacuumChannel + id: '06' + img: SR03A-VA-IMG-04 + master: FV.MASTER + name: FV.G6 + + - type: dlsPLC.fastVacuumChannel + id: '07' + img: SR03I-VA-IMG-02 + master: FV.MASTER + name: FV.G7 + + - type: dlsPLC.fastVacuumChannel + id: '08' + img: SR03I-VA-IMG-03 + master: FV.MASTER + name: FV.G8 + + - type: terminalServer.Moxa16 + HOST: 192.168.3.11 + NCHANS: 16 + P: SR03C-VA-TSERV-01 + R: '' + name: TSERV1 + + - type: terminalServer.Moxa16 + HOST: 192.168.3.12 + NCHANS: 16 + P: SR03C-VA-TSERV-02 + R: '' + name: TSERV2 diff --git a/tests/samples/xml2yaml.yaml b/tests/samples/xml2yaml.yaml deleted file mode 100644 index d511517..0000000 --- a/tests/samples/xml2yaml.yaml +++ /dev/null @@ -1,319 +0,0 @@ -# yaml-language-server: $schema=/epics/ibek-defs/ioc.schema.json - -ioc_name: "{{ __utils__.get_env('IOC_NAME') }}" - -description: auto-generated by https://github.com/epics-containers/builder2ibek - -entities: - - - type: epics.EpicsEnvSet - name: EPICS_TS_MIN_WEST - value: '0' - - - type: devIocStats.iocAdminSoft - IOC: '{{ ioc_name | upper }}' - - - type: epics.EpicsCaMaxArrayBytes - max_bytes: 6000000 - - - type: pmac.pmacAsynIPPort - IP: 172.23.59.21:1025 - name: BRICK1port - - - type: pmac.GeoBrick - P: BL45P-MO-STEP-01 - name: BRICK1 - pmacAsynPort: BRICK1port - - - type: pmac.pmacDisableLimitsCheck - Axis: 2 - Controller: BRICK1 - - - type: pmac.pmacDisableLimitsCheck - Axis: 3 - Controller: BRICK1 - - - type: pmac.pmacDisableLimitsCheck - Axis: 4 - Controller: BRICK1 - - - type: pmac.pmacDisableLimitsCheck - Axis: 5 - Controller: BRICK1 - - - type: pmac.dls_pmac_asyn_motor - ACCL: 0.1 - ADDR: 2 - Controller: BRICK1 - DESC: Theta top - DHLM: 10000000 - DIR: Pos - DLLM: -10000000 - EGU: deg - FOFF: Variable - HOMEVISSTR: Absolute Encoder - M: :THETA:TOP - MRES: 0.087890625 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 1 - UEIP: No - VELO: 90 - VMAX: '1080' - - - type: pmac.dls_pmac_asyn_motor - ACCL: 0.1 - ADDR: 3 - Controller: BRICK1 - DESC: Theta bottom - DHLM: 10000000 - DIR: Pos - DLLM: -10000000 - EGU: deg - FOFF: Variable - HOMEVISSTR: Absolute Encoder - M: :THETA:BOT - MRES: 0.087890625 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 1 - UEIP: No - VELO: 90 - VMAX: '1080' - - - type: pmac.dls_pmac_asyn_motor - ADDR: 4 - Controller: BRICK1 - DESC: Hor EnDat chopper - DHLM: 10000000 - DIR: Pos - DLLM: -10000000 - EGU: deg - FOFF: Variable - HOMEVIS: 0 - HOMEVISSTR: Absolute Encoder - M: :ENDAT - MRES: 4.3e-05 - P: BL45P-MO-CHOP-01 - PREC: 5 - TWV: 1 - UEIP: No - VELO: 43 - - - type: pmac.dls_pmac_asyn_motor - ACCL: 0.01 - ADDR: 5 - Controller: BRICK1 - DESC: Ver Biss chopper - DHLM: 10000000 - DIR: Pos - DLLM: -10000000 - EGU: deg - ERES: '' - FOFF: Variable - HOMEVIS: 0 - HOMEVISSTR: Absolute Encoder - M: :BISS - MRES: 0.000687 - P: BL45P-MO-CHOP-01 - PREC: 5 - TWV: 1 - UEIP: No - VELO: 720 - - - type: pmac.dls_pmac_asyn_motor - ADDR: 6 - Controller: BRICK1 - DESC: Sample X - DHLM: 19 - DIR: Pos - DLLM: 0 - EGU: mm - FOFF: Variable - M: :X - MRES: 0.0001 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 1 - UEIP: No - VELO: 5 - - - type: pmac.dls_pmac_asyn_motor - ADDR: 7 - Controller: BRICK1 - DESC: Sample Y top - DHLM: 4 - DIR: Pos - DLLM: -1 - EGU: mm - FOFF: Variable - M: :Y:TOP - MRES: 0.0005 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 1 - UEIP: No - VELO: 5 - - - type: pmac.dls_pmac_asyn_motor - ADDR: 8 - Controller: BRICK1 - DESC: Sample Y bottom - DHLM: 4 - DIR: Pos - DLLM: -1 - EGU: mm - FOFF: Variable - M: :Y:BOT - MRES: 0.0005 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 1 - UEIP: No - VELO: 5 - - - type: pmac.autohome - GRP2: Theta - GRP3: X - GRP4: Y top - GRP5: Y bottom - P: BL45P-MO-STAGE-01 - PLC: 10 - PmacController: BRICK1 - - - type: pmac.CS - CS: 1 - IdlePoll: 1000 - PmacController: BRICK1 - name: BRICK1.CS1 - - - type: pmac.CS - CS: 2 - IdlePoll: 1000 - PmacController: BRICK1 - name: BRICK1.CS2 - - - type: pmac.CS - CS: 3 - IdlePoll: 1000 - PmacController: BRICK1 - name: BRICK1.CS3 - - - type: pmac.dls_pmac_asyn_motor - ACCL: 0.1 - ADDR: 7 - Controller: BRICK1.CS2 - DESC: Theta position - DHLM: 10000 - DIR: Pos - DLLM: -10000 - EGU: deg - FOFF: Variable - M: :THETA:POS - MRES: 0.0001 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 5 - UEIP: No - VELO: 30 - is_cs: true - - - type: pmac.dls_pmac_asyn_motor - ACCL: 0.1 - ADDR: 8 - Controller: BRICK1.CS2 - DESC: Theta skew - DHLM: 360 - DIR: Pos - DLLM: -360 - EGU: deg - FOFF: Variable - M: :THETA:SKEW - MRES: 0.0001 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 5 - UEIP: No - VELO: 10 - is_cs: true - - - type: pmac.dls_pmac_asyn_motor - ADDR: 7 - Controller: BRICK1.CS3 - DESC: CS Y - DHLM: 4 - DIR: Pos - DLLM: -1 - EGU: mm - FOFF: Variable - M: :CS:Y - MRES: 0.0001 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 0.5 - UEIP: No - VELO: 5 - is_cs: true - - - type: pmac.dls_pmac_asyn_motor - ADDR: 8 - Controller: BRICK1.CS3 - DESC: CS Y stretch - DHLM: 2 - DIR: Pos - DLLM: -2 - EGU: mm - FOFF: Variable - M: :CS:Y:STRETCH - MRES: 0.0001 - P: BL45P-MO-STAGE-01 - PREC: 3 - TWV: 0.5 - UEIP: No - VELO: 5 - is_cs: true - - - type: pmac.GeoBrickTrajectoryControl - NPOINTS: 500000 - PmacController: BRICK1 - - - type: pmac.pmacCreateCsGroup - AxisCount: 9 - Controller: BRICK1 - GroupName: Default - GroupNumber: 0 - - - type: pmac.pmacCsGroupAddAxis - AxisDef: I - AxisNumber: 2 - Controller: BRICK1 - CoordSysNumber: 2 - GroupNumber: 0 - - - type: pmac.pmacCsGroupAddAxis - AxisDef: I - AxisNumber: 3 - Controller: BRICK1 - CoordSysNumber: 2 - GroupNumber: 0 - - - type: pmac.pmacCsGroupAddAxis - AxisDef: Z - AxisNumber: 6 - Controller: BRICK1 - CoordSysNumber: 3 - GroupNumber: 0 - - - type: pmac.pmacCsGroupAddAxis - AxisDef: I - AxisNumber: 7 - Controller: BRICK1 - CoordSysNumber: 3 - GroupNumber: 0 - - - type: pmac.pmacCsGroupAddAxis - AxisDef: I - AxisNumber: 8 - Controller: BRICK1 - CoordSysNumber: 3 - GroupNumber: 0 diff --git a/tests/test_autosave.py b/tests/test_autosave.py new file mode 100644 index 0000000..c67d7ff --- /dev/null +++ b/tests/test_autosave.py @@ -0,0 +1,16 @@ +import shutil +from pathlib import Path + +from builder2ibek.db2autosave import parse_templates + + +def test_autosave(): + conversion_samples = [ + Path("tests/samples/motor.template"), + ] + + output = Path("/tmp/autosave") + shutil.rmtree(output, ignore_errors=True) + output.mkdir() + + parse_templates(output, conversion_samples) diff --git a/tests/test_compare.py b/tests/test_compare.py new file mode 100644 index 0000000..28c6e74 --- /dev/null +++ b/tests/test_compare.py @@ -0,0 +1,14 @@ +from pathlib import Path + +from builder2ibek.dbcompare import compare_dbs + + +def test_conmpare(samples: Path): + old = samples / "SR03C-VA-IOC-01_expanded.db" + new = samples / "sr03c-va-ioc-01.db" + result = Path("/tmp") / "compare.diff" + + output = Path("/tmp") / "compare.diff" + compare_dbs(old, new, ignore=["SR03C-VA-IOC-01:"], output=output) + + assert result.read_text() == output.read_text() diff --git a/tests/test_file_conversion.py b/tests/test_file_conversion.py index 49ffc43..403cbec 100644 --- a/tests/test_file_conversion.py +++ b/tests/test_file_conversion.py @@ -1,22 +1,29 @@ -import subprocess -import sys - - -def test_cli_version(): - conversion_samples = [ - "tests/samples/BL45P-MO-IOC-01.xml", - "tests/samples/BL99P-EA-IOC-05.xml", - ] - - for sample in conversion_samples: - cmd = [ - sys.executable, - "-m", - "builder2ibek", - "file", - "--yaml", - "out.yaml", - sample, - ] - result = subprocess.run(cmd) - assert result.returncode == 0 +from pathlib import Path + +from builder2ibek.convert import convert_file + +conversion_samples = [ + "tests/samples/BL45P-MO-IOC-01.xml", + "tests/samples/BL99P-EA-IOC-05.xml", + "tests/samples/SR03-VA-IOC-01.xml", +] + + +def test_convert(samples: Path): + all_samples = samples.glob("*.xml") + for sample_xml in all_samples: + sample_yaml = Path(str(sample_xml.with_suffix(".yaml")).lower()) + out_yaml = Path("/tmp") / sample_yaml.name + + convert_file(sample_xml, out_yaml, "/epics/ibek-defs/ioc.schema.json") + + assert out_yaml.read_text() == sample_yaml.read_text() + + +def test_debug(samples: Path): + """ + A single test to debug the conversion process + """ + in_xml = samples / "BL99P-EA-IOC-05.xml" + out_yml = samples / "BL99P-EA-IOC-05.yaml" + convert_file(in_xml, out_yml, "/epics/ibek-defs/ioc.schema.json")